Part Number Hot Search : 
BZW04P13 92001 HCT373 FBR2510W AP230 MD50J D78F9418 Z32RD162
Product Description
Full Text Search
 

To Download COM20019I Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  smsc COM20019I page 1 rev. 04-15-05 datasheet COM20019I low cost arcnet (ansi 878.1) controller with 2k x 8 on-board ram datasheet product features ? new features: ? data rates up to 312.5 kbps ? programmable reconfiguration times ? 28 pin plcc and 48 pin tqfp packages ? ideal for industrial/factory/building automation and transportation applications ? deterministic, (ansi 878.1), token passing arcnet protocol ? minimal microcontroller and media interface logic required ? flexible interface for use with all microcontrollers or microprocessors ? automatically detects ty pe of microcontroller interface ? 2kx8 on-chip dual port ram ? command chaining for packet queuing ? sequential access to internal ram ? software programmable node id ? eight, 256 byte pages allow four pages tx and rx plus scratch-pad memory ? next id readable ? internal clock scaler for adjusting network speed ? operating temperature range of -40 o c to +85 o c ? self-reconfiguration protocol ? supports up to 255 nodes ? supports various network topologies (star, tree, bus...) ? cmos, single +5v supply ? duplicate node id detection ? powerful diagnostics ? receive all packets mode ? flexible media interface: ? rs485 differential driver interface for low cost, low power, high reliability ordering information order number(s): COM20019I-ljp for 28 pin plcc package COM20019I-hd for 48 pin tqfp package
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 2 smsc COM20019I datasheet 80 arkay drive hauppauge, ny 11788 (631) 435-6000 fax (631) 273-3123 copyright ? smsc 2005. all rights reserved. circuit diagrams and other information rela ting to smsc products are included as a m eans of illustrating typical applications. consequently, complete information sufficient for c onstruction purposes is not necessarily given. although the information has been checked and is bel ieved to be accurate, no responsibility is assumed for inaccuracies. smsc reserves the right to make changes to specifications and product descriptions at any time without notice. contact your local smsc sales office to obtain the la test specifications before placi ng your product order. the provisi on of this information does not convey to the purchaser of the described semiconductor devic es any licenses under any patent ri ghts or other intellectual p roperty rights of smsc or others. all sales are expressly conditional on your agreement to the terms and conditions of the most recently dated version of smsc's standard terms of sale agreement dated before the date of your order (t he "terms of sale agreement"). the product may contain design def ects or errors known as anomalies which may caus e the product's functions to deviate from publis hed specifications. anomaly sheets are availab le upon request. smsc products are not designed, intended, authorized or warranted for use in any life support or other application where produc t failure could cause or contribute to personal injury or severe property damage. any and all such uses without prior written approval of an officer of smsc and further testing and/or modification will be fully at t he risk of the customer. copies of this do cument or other smsc literature, as wel l as the terms of sale agreement, may be obtained by visiting smsc?s website at http://www .smsc.com. smsc is a registered trademark of standard micros ystems corporation (?smsc?). product names and company names are the trademarks of their respective holders. smsc disclaims and excludes any and a ll warranties, including without limitation any and all implied warranties of merchantability, fitn ess for a particular purpose, title, and against infringement and the like, and any and all warranties arising from any course of dealing or usage of trade. in no event shall smsc be liable for an y direct, incidental , indirect, special, punitive, or consequential damages; or for lost data, profits, savings or revenues of any kind; regardless of th e form of action, whether based on contract; tort; negligence of smsc or others; strict li ability; breach of warranty; or otherwise; whether or not any remedy of buyer is held to have failed of its essential purpose, and whet her or not smsc has been advised of the possibility of such damages.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 3 rev. 04-15-05 datasheet table of contents chapter 1 general des cription..................................................................................................... 5 chapter 2 pin configura tions........................................................................................................ 6 chapter 3 description of pin funct ions.................................................................................... 8 chapter 4 protocol desc ription ............................................................................................... 11 4.1 network pr otocol............................................................................................................... .............11 4.2 data rates..................................................................................................................... ........................11 4.3 network reco nfiguration ........................................................................................................ .....11 4.4 broadcast messages............................................................................................................. ...........12 4.5 extended time out function ...................................................................................................... .....12 4.5.1 response time .................................................................................................................. .................12 4.5.2 idle time ...................................................................................................................... .......................12 4.5.3 reconfigurat ion time ........................................................................................................... ...............13 4.6 line pr otocol .................................................................................................................. ....................13 4.6.1 invitations to trans mit........................................................................................................ ................13 4.6.2 free buffer enquiri es .......................................................................................................... ................13 4.6.3 data pa ckets................................................................................................................... ....................13 4.6.4 acknowledg ements ............................................................................................................... ..............14 4.6.5 negative ackn owledgements ...................................................................................................... ........14 chapter 5 system descri ption ..................................................................................................... 15 5.1 microcontroller interface...................................................................................................... ....15 5.1.1 high speed cpu bus timing suppor t .............................................................................................. ..18 5.2 transmission me dia interface ................................................................................................... ...19 5.2.1 backplane conf igurat ion ........................................................................................................ .............19 5.2.2 differential driver configur ation .............................................................................................. ............20 5.2.3 programmable t xen pola rity ..................................................................................................... ........20 chapter 6 functional d escription............................................................................................. 23 6.1 microseque ncer................................................................................................................. ................23 6.2 internal re gisters............................................................................................................. ...............24 6.2.1 interrupt mask r egister (imr) .................................................................................................. ...........24 6.2.2 data re gist er .................................................................................................................. ....................24 6.2.3 tentative id regi ster .......................................................................................................... ................25 6.2.4 node id regist er............................................................................................................... ..................25 6.2.5 next id regist er............................................................................................................... ...................25 6.2.6 status r egister................................................................................................................ ....................25 6.2.7 diagnostic stat us regi ster..................................................................................................... .............26 6.2.8 command r egister ............................................................................................................... ..............26 6.2.9 address pointe r regist ers ...................................................................................................... ............26 6.2.10 configurati on regi ster......................................................................................................... ............26 6.2.11 sub-address regist er ........................................................................................................... ..........26 6.2.12 setup 1 re gist er............................................................................................................... ...............26 6.2.13 setup 2 re gist er............................................................................................................... ...............27 6.3 internal ram ................................................................................................................... .....................34 6.3.1 sequential ac cess me mory....................................................................................................... ..........34 6.3.2 access s peed ................................................................................................................... ..................35 6.4 software in terface............................................................................................................. .............35 6.4.1 selecting ra m page size ........................................................................................................ ...........35 6.4.2 transmit s equenc e .............................................................................................................. ...............37 6.4.3 receive se quence ............................................................................................................... ...............38 6.5 command ch aining............................................................................................................... ...............39 6.5.1 transmit comma nd chai ning ...................................................................................................... .......40 6.5.2 receive comma nd chai ning ....................................................................................................... .......40 6.6 reset de tails .................................................................................................................. .....................41 6.6.1 internal re set log ic ........................................................................................................... .................41 6.7 initializati on seq uence ........................................................................................................ ............41 6.7.1 bus determ ination.............................................................................................................. .................41 6.8 improved di agnostics ........................................................................................................... ...........42 6.8.1 normal re sults:................................................................................................................ ...................43
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 4 smsc COM20019I datasheet 6.8.2 abnormal re sults:.............................................................................................................. .................43 6.9 oscilla tor ..................................................................................................................... .......................43 chapter 7 operational d escription .......................................................................................... 45 7.1 maximum guarant eed ratings*.................................................................................................... ..45 7.2 dc electrical cha racteristics .................................................................................................. ..45 chapter 8 timing di agrams............................................................................................................. 48 chapter 9 package ou tlines ............................................................................................................... .. 60 9.1 28 pin plcc package ou tline and pa rameters..................................................................................... ....60 9.2 48 pin tqfp package ou tline and pa rameters..................................................................................... ....61 chapter 10 appendix a..................................................................................................................... ... 62 10.1 nosync bit ..................................................................................................................... ......................62 10.2 ef bit......................................................................................................................... .............................62 chapter 11 appendix b:.................................................................................................................... ... 65 list of figures figure 3.1 - com2001 9i operation ............................................................................................... .........................10 figure 5.1 - multiplexed, 8051-like bus interface wi th rs-485 in terface ............................................16 figure 5.2 - non-multiplexed, 6801-like bus interface with rs-485 inte rface...................................17 figure 5.3 - high speed cpu bu s timing - in tel cpu mode........................................................................ ....18 figure 5.4 - COM20019I network using rs-485 differential transcei vers...........................................20 figure 5.5 - interna l block diagram ............................................................................................ ......................21 figure 6.1 - sequential access operation ....................................................................................... ...............34 figure 6.2 - ram buffer packet configuration ................................................................................... ..........37 figure 6.3 - command chaining status register queue............................................................................ ..39 figure 7.1 - ac measurements ................................................................................................... ...........................47 figure 8.1 - multiplexed bus, 68xx-li ke control signals; read cy cle .................................................48 figure 8.2 - multiplexed bus, 80xx-li ke control signals; read cy cle .................................................49 figure 8.3 - multiplexed bus, 68xx-li ke control signals; write cy cle................................................50 figure 8.4 - multiplexed bus, 80xx-li ke control signals; write cy cle................................................51 figure 8.5 - non-multiplexed bus, 80xx- like control signals; read cy cle ........................................52 figure 8.6 - non-multiplexed bus, 80xx- like control signals; read cy cle ........................................53 figure 8.7 - non-multiplexed bus, 68xx- like control signals; read cy cle ........................................54 figure 8.8 - non-multiplexed bus, 68xx- like control signals; read cy cle ........................................55 figure 8.9 - non-multiplexed bus, 80xx- like control signals; write cy cle ......................................56 figure 8.10 - non-multiplexed bus, 68xx- like control signals; write cy cle ....................................57 figure 8.11 - backplane mode tr ansmit or rece ive timing.......................................................................5 8 figure 8.12 - ttl input timing on xtal1 pin .................................................................................... ...................59 figure 8.13 - reset and interrup t timing ....................................................................................... .................59 figure 10.1 - effect of th e eb bit on th e ta/ri bit ............................................................................ ............63 figure 11.1 - example of interfac e circuit diagram to isa bus .............................................................65 list of tables table 5.1 - ty pical media ...................................................................................................... .......................................22 table 6.1 - read register summary.............................................................................................. ...............................23 table 6.2 - write register summary ............................................................................................. ...............................24 table 6.3 - stat us register .................................................................................................... .......................................27 table 6.4 - diagnosti c status register......................................................................................... .................................28 table 6.5 - comm and register................................................................................................... ..................................29 table 6.6 - address po inter high register ...................................................................................... ..............................30 table 6.7 - address po inter low register....................................................................................... ..............................30 table 6.8 - sub ad dress register ............................................................................................... ..................................31 table 6.9 - config uration register ............................................................................................. ...................................31 table 6.10 - setu p 1 register .................................................................................................. .....................................32 table 6.11 - setu p 2 register .................................................................................................. .....................................33
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 5 rev. 04-15-05 datasheet chapter 1 general description smsc's COM20019I is a member of the fami ly of embedded arcnet controllers from standard microsystems corporation. the device is a general purpose communications controller for networking microcontrollers and intelligent peripherals in indus trial, automotive, and embedded control environments using an arcnet protocol engine. the flexible microcontrolle r and media interfaces, eight- page message support, and extended temperature range of the com2 0019i make it the only true network controller optimized for use in industrial, embedded, and auto motive applications. using an arcnet protocol engine is the ideal solution for embedded control app lications because it provides a deterministic token- passing protocol, a highly reliable and proven networkin g scheme, and a data rate of up to 312.5 kbps when using the COM20019I. a token-passing protocol provides predictable response times because each network event occurs within a predetermined time interval, based upon the number of nodes on the network. the deterministic nature of arcnet is essential in real time applications. t he integration of the 2kx8 ram buffer on-chip, the command chaining feature, the maximum data rate, and the internal diagnostics make the COM20019I the highest performance embedded communications devi ce available. with only one COM20019I and one microcontroller, a complete communications node may be implemented. for more details on the arcnet protocol engine and traditional dipulse signaling schemes, please refer to the arcnet local area network standard , available from standard microsystems corporation or the arcnet designer's handbook , available from datapoint corporation. for more detailed information on cabling options including rs485, transformer-coupled rs-485 and fiber optic interfaces, please refer to the following technical note which is available from standard microsystems corporation: technical note 7-5 - cabling guidelines for the com20020 ulanc.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 6 smsc COM20019I datasheet chapter 2 pin configurations 24 23 22 21 20 19 18 17 16 15 14 13 nrd/nds nwr/dir ncs nintr nreset in ntxen rxin npulse2 npulse1 xtal2 xtal1 vdd 25 24 23 22 21 20 19 n c s n i n tr n r e s e t i n v s s n tx e n r x i n n p u l s e 2 567891011 a d 1 v s s a d 2 d 3 d 4 d 5 d 6 18 17 16 15 14 13 12 npulse 1 xtal2 xtal1 vdd vss n/c d7 1 2 3 4 5 6 7 8 9 10 11 12 a0/nmux a1 a2/ale ad0 ad1 ad2 d3 d4 d5 d6 d7 vss 26 27 28 1 2 3 4 nwr/dir nrd/nds vdd a2/ale ad0 a1 a0/nmux packages: 24-pin dip or 28-pin plcc ordering information: com20019 package type: p = plastic, ljp = plcc temp range: (blank) = commercial: 0c to +70c i = industrial: -40c to +85c device type: 20019 = universa l local area network controller (with 2k x 8 ram) p i package: 28-pin plcc
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 7 rev. 04-15-05 datasheet 48 47 46 45 44 43 42 41 40 39 38 37 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5 6 7 8 9 10 11 12 36 35 34 33 32 31 30 29 28 27 26 25 n/c n/c a2/ale a1 a0/nmux vdd n/c vss n/c nrd/nds vdd nwr/dir d7 n/c n/c n/c n/c vss n/c vdd xtal1 xtal2 vss npulse1 ad0 ad1 n/c ad2 n/c vss d3 vdd d4 d5 vss d6 ncs vdd nintr n/c vdd nreset vss ntxen rxin n/c bustmg npulse2 COM20019I 48 pin tqfp
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 8 smsc COM20019I datasheet chapter 3 description of pin functions plcc pin no. name symbol description microcontroller interface 1-3 address 0-2 a0/nmux, a1,a2/ale input. on a non-multiplexed mode, a0-a2 are address input bits. (a0 is the lsb) on a multiplexed address/data bus, nmux tied low, a1 is left open, and ale is tied to the address latch enable signal. a1 is connected to an internal pull-up resistor. 4-6,8-12 data 0-7 ad0-ad2, d3- d7 input/output. on a non-mu ltiplexed bus, these signals are used as the data lines for the device. on a multiplexed address/data bus, ad0-ad2 act as the address lines (latched by ale) and as the low data lines for the device. d3-d7 are always used for data only. these signals are connected to internal pull-up resistors. 27 nread/ndata strobe nrd/nds input. on a 68xx-like bus, nds is an active low signal issued by the microcontroller as the data strobe signal to strobe the data onto the bus. on a 80xx-like bus, nrd is an active low signal issued by the microcontroller to indicate a read operation. 26 nwrite/ direction nwr/dir input. on a 68xx-like bu s, dir is issued by the microcontroller as the read/nwrite signal to determine the direction of data transfer. in this case, a logic "1" selects a read operation, while a logic "0" selects a write operation. in this case, data is actually strobed by the nds signal. on an 80xx-like bus, nwr is an active low signal issued by the microcontroller to indicate a write operation. in this case, a logic "0" on this pin, when the COM20019I is accessed, enables data from the data bus to be written to the device. 23 nreset in nreset input. this active low signal executes a hardware reset. 24 ninterrupt nintr output. this active low signal is generated by the COM20019I when an enabled interrupt condition occurs. 25 nchip select ncs input. this active low signal selects the COM20019I for an access.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 9 rev. 04-15-05 datasheet plcc pin no. name symbol description transmission media interface 19,18 npulse 2, npulse 1 npulse2, npulse1 output (npulse1), inpu t/output (npulse2). in normal mode, these ac tive low signals carry the transmit data informa tion, encoded in pulse format, as dipulse waveform. when the device is in backplane mode, the npulse1 signal driver is programmable (push/pull or open-drain), while the npulse2 signal provides a clock with frequency of double the data rate. npulse1 is connected to a weak internal pull-up resistor on the open/drain driver in backplane mode. the COM20019I does not support the normal mode. use only in the backplane mode. 20 receive in rxin input. this signal carries the receive data information from the line transceiver. 21 ntransmit nenable ntxen output. this signal is used prior to the power- up to enable the line drivers for transmission. the polarity of the signal is programmable through the npulse2 pin. npulse2 floating before power-up: ntxen active low (default option) npulse2 grounded before power-up: ntxen active high (this option is only available in backplane mode) 16,17 crystal oscillator xtal1, xtal2 an external crystal should be connected to these pins. oscillation frequency range is from 10 to 20 mhz. if an external ttl clock is used instead, it must be conn ected to xtal1 with a 390 pull-up resistor, and xtal2 should be left floating. 15,28 power supply v dd +5 volt power supply pin. 7,14,22 ground v ss ground pin.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 10 smsc COM20019I datasheet figure 3.1 - COM20019I operation invitation to transmit to this id? y n free buffer enquiry to this id? soh? yn yn ri? write sid to buffer did =0? did =id? write buffer with packet crc ok? length ok? did =0? did =id? send ack n y n y n y n broadcast enabled? n y n no activity for 656 us? y n set nid=id start timer: t=(255-id) activity on line? y n t=0? set ri ri? tr a n s m i t nak tr a n s m i t ack set nid=id write id to ram buffer send reconfigure burst power on reconfigure timer has timed out start reconfiguration timer (6.72 s)* ta ? broadcast? tr an s mi t free buffer enquiry no activity pass the to k e n set ta y n ack? nak? 1 no activity n y increment nid send packet was packet broadcast? no activity n ack? set tma set ta x 1.168 ms for 597.6 us? for 597.6 us? for 597.6 us? y n n y y n n y n n n n 1 y y y y y y y n y read node id id refers to the identification number of the id assigned to this node. nid refers to the next identification number that receives the token after this id passes it. - - - - sid refers to the source identification. did refers to the destination identification. soh refers to the start of header character; preceeds all data packets. - yn * reconfig timer is programmable via setup2 register bits 1, 0. note - all time values are valid for 312.5 kbps.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 11 rev. 04-15-05 datasheet chapter 4 protocol description 4.1 network protocol communication on the network is based on a token pa ssing protocol. establishment of the network configuration and management of t he network protocol are handled entir ely by the COM20019I's internal microcoded sequencer. a processor or intelligent peripher al transmits data by simply loading a data packet and its destination id into the COM20019I's intern al ram buffer, and issuing a command to enable the transmitter. when the COM20019I next receives the token, it verifies t hat the receiving node is ready by first transmitting a free buffer enquiry message. if the receiving node transmits an acknowledge message, the data packet is transmitted followed by a 16- bit crc. if the receiving node cannot accept the packet (typically its receiver is inhibited), it transmits a negative acknowledge message and the transmitter passes the token. once it has been estab lished that the receiving node can accept the packet and transmission is complete, the receiving node ve rifies the packet. if the packet is received successfully, the receiving node transmits an acknowledge message (or nothing if it is not received successfully) allowing the transmitter to set the appropriate status bi ts to indicate successful or unsuccessful delivery of the packet. an interrupt mask permits the COM20019I to generate an interrupt to the processor when selected status bits become true. figure 3.1 - COM20019I operatio n is a flow chart illustrating the internal operation of the COM20019I connected to a 20 mhz crystal oscillator. 4.2 data rates the COM20019I is capable of supporting data rates from 156.25 kbps to 312.5 kbps. the following protocol description assumes a 312.5 kbps data rate. for slower data rates, an internal clock divider scales down the clock frequency. thus all timeout values are scaled as shown in the following table: example: idle line timeout @ 312.5 kbps = 656 s. idle line timeout for 156.2 kbps is 656 s * 2 = 1.3 ms internal clock frequency clock prescaler data rate timeout scaling factor (multiply by) 20 mhz div. by 64 div. by 128 312.5 kbps 156.25 kbps 1 2 4.3 network reconfiguration a significant advantage of the com2 0019i is its ability to adapt to changes on the network. whenever a new node is activated or deactivated, a netw ork reconfiguration is performed. when a new COM20019I is turned on (creating a new active node on the network), or if the COM20019I has not received an invitation to transmit for 6.72s, or if a software reset occurs, the COM20019I causes a network reconfiguration by sending a reconf igure burst consisting of eight marks and one space repeated 765 times. the purpose of this burst is to terminate all activity on the network. since this burst is longer than any other ty pe of transmission, the burst will interf ere with the next invitation to transmit, destroy the token and keep any ot her node from assuming control of the line. when any COM20019I senses an idle line for greater than 656 s, which occurs only when the token is lost, each COM20019I starts an internal timeout e qual to 1.168ms times the quantity 255 minus its own id. the COM20019I starts network re configuration by sending an invitation to transmit first to itself and then to all other nodes by decrementing the destination node id. if the timeout expires with no line
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 12 smsc COM20019I datasheet activity, the COM20019I starts sending invitation to transmit with the destination id (did) equal to the currently stored nid. within a given network, only one COM20019I will timeout (the one with the highest id number). after sending the invitation to transmit, the COM20019I waits for activity on the line. if there is no activity for 597.6s, the COM20019I increments t he nid value and transmits another invitation to transmit using the nid equal to the did. if activity appears before the 597.6s timeout expires, the co m20019i releases control of the line. during network reconfiguration, invitations to tr ansmit are sent to all nids (1-255). each COM20019I on the network will finally have sa ved a nid value equal to the id of the COM20019I that it released control to. at this point, control is passed directly from one node to the next with no wasted invitations to transmit being sent to id's not on the network, until the next network reconfiguration occurs. when a node is powered of f, the previous node attempts to pass the token to it by issuing an invitation to transmit. si nce this node does not respond, the previous node times out and transmits another invitation to transmit to an incremented id and eventually a response will be received. the network reconfiguration time depends on the number of nodes in the network, the propagation delay between nodes, and the highest id nu mber on the network, but is typically within the range of 192 to 488 ms. 4.4 broadcast messages broadcasting gives a particular node the ability to transmit a data packet to all nodes on the network simultaneously. id zero is reserved for this featur e and no node on the network can be assigned id zero. to broadcast a message, the transmitting node's processor simply loads the ram buffer with the data packet and sets the did equal to zero. figure 4 illust rates the position of each byte in the packet with the did residing at address 0x01 or 1 hex of the current page selected in the "enable transmit from page fnn" command. each individual node has the ability to ignore broadcast messages by setting the most significant bit of the "enable receive to page fnn" command to a logic "0". 4.5 extended ti meout function there are three timeouts associated with the com200 19i operation. the values of these timeouts are controlled by bits 3 and 4 of t he configuration register and bi t 5 of the setup 1 register. 4.5.1 response time the response time determines the maximum propagation delay allowed between any two nodes, and should be chosen to be larger than the round trip propagation delay between the two furthest nodes on the network plus the maximum turn around time (the ti me it takes a particular COM20019I to start sending a message in response to a received message) which is approximately 101.6 s. the round trip propagation delay is a function of the transmission media and network topology. for a typical system using rg62 coax in a baseband system, a one way cable propagation delay of 248 s translates to a distance of about 32 miles. the flow c hart in figure 3.1 uses a value of 597.6 s (248 + 248 + 101.6) to determine if any node will respond. 4.5.2 idle time the idle time is associated with a network reco nfiguration. figure 3.1 illustrates that during a network reconfiguration one node will continually transmit invitations to transmit until it encounters an active node. all other nodes on the net work must distinguish between this operation and an entirely idle line. during network reconfigurati on, activity will appear on the line every 656 s.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 13 rev. 04-15-05 datasheet this 656 s is equal to the response time of 597.6 s plus the time it takes the COM20019I to start retransmitting another message (usually another invitation to transmit). 4.5.3 reconfiguration time if any node does not receive the token within the reco nfiguration time, the node will initiate a network reconfiguration. the et2 and et1 bits of the conf iguration register allow the network to operate over longer distances than the 32 mile s stated earlier. thelogic levels on these bits control the maximum distances over which the COM20019I can operate by controlling the thre e timeout values described above. for proper network operation, all COM20019I's c onnected to the same network must have the same response time, idle time, and reconfiguration time. 4.6 line protocol the arcnet line protocol is consider ed isochronous because each byte is preceded by a start interval and ended with a stop interval. unlike asynchronous pr otocols, there is a c onstant amount of time separating each data byte. on a 312.5 kbps network, each byte takes exactly 11 clock intervals of 3.2 s each. as a result, one byte is transmitted every 35.2 s and the time to transmit a message can be precisely determined. the line idles in a spacing (logi c "0") condition. a logic "0" is defined as no line activity and a logic "1" is defined as a negative pulse of 1.6 s duration. a transmission starts with an alert burst consisting of 6 unit intervals of mark (l ogic "1"). eight bit data characters are then sent, with each character preceded by 2 unit intervals of ma rk and one unit interval of space. five types of transmission can be performed as described below: 4.6.1 invitations to transmit an invitation to transmit is used to pass the token from one node to another and is sent by the following sequence: ? an alert burst ? an eot (end of transmission: ascii code 04h) ? two (repeated) did (destination id) characters alert burst eot did did 4.6.2 free buffer enquiries a free buffer enquiry is used to ask another node if it is able to accept a packet of data. it is sent by the following sequence: ? an alert burst ? an enq (enquiry: ascii code 85h) ? two (repeated) did (destination id) characters alert burst enq did did 4.6.3 data packets a data packet consists of the actual data being sent to another node. it is sent by the following sequence:
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 14 smsc COM20019I datasheet ? an alert burst ? an soh (start of header--ascii code 01h) ? an sid (source id) character ? two (repeated) did (destination id) characters ? a single count character which is the 2's compleme nt of the number of data bytes to follow if a short packet is sent, or 00h followed by a count character if a long packet is sent. ? n data bytes where count = 256-n (or 512-n for a long packet) ? two crc (cyclic redundancy check) characters. the crc polynomial used is: x 16 + x 15 + x 2 + 1. a lert burst soh sid did did count data data crc crc 4.6.4 acknowledgements an acknowledgement is used to acknowledge reception of a packet or as an affirma tive response to free buffer enquiries and is sent by the following sequence: ? an alert burst ? an ack (acknowledgement--ascii code 86h) character alert burst ack 4.6.5 negative acknowledgements a negative acknowledgement is used as a negative response to free buffer enquiries and is sent by the following sequence: ? an alert burst ? a nak (negative acknowledgement--ascii code 15h) character alert burst nak
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 15 rev. 04-15-05 datasheet chapter 5 system description 5.1 microcontroller interface the top halves of figure 5.1 and figure 5.2 illustrate ty pical COM20019I interfaces to the microcontrollers. the interfaces consist of a 8-bit data bus, an a ddress bus and a control bus. in order to support a wide range of microcontrollers without requiring glue lo gic and without increasing the number of pins, the COM20019I automatically detects and adapts to the ty pe of microcontroller being used. upon hardware reset, the COM20019I first determines whether the re ad and write control signals are separate read and write signals (like the 80xx) or direction and data strobe (like the 68xx). to determine the type of control signals, the device requires the software to execute at least one write access to external memory before attempting to access the COM20019I. the device def aults to 80xx-like signals. once the type of control signals are determined, the COM20019I remain s in this interface mode until the next hardware reset occurs. the second determination the COM20019I makes is whether the bus is multiplexed or non- multiplexed. to determine the type of bus, the devi ce requires the software to write to an odd memory location followed by a read from an odd location befo re attempting to access the COM20019I. the signal on the a0 pin during the odd location access tells th e COM20019I the type of bus. since multiplexed operation requires a0 to be active low , activity on the a0 line tells th e COM20019I that the bus is non- multiplexed. the device defaults to multiplexed operation. both determinations may be made simultaneously by performing a write followed by a read operation to an odd location within the COM20019I address space 20020d registers. once the type of bus is determined, the COM20019I remains in this interface mode until hardware reset occurs. whenever ncs and nrd are activated, the preset deter minations are assumed as final and will not be changed until hardware reset. refer to description of pin functions section for details on the related signals. all accesses to the internal ram and the in ternal registers are controlled by the COM20019I. the internal ram is accessed via a pointer-based scheme (refer to the sequential access memory section), and the internal registers are accessed via direct addressing. many peripherals are not fast enough to take advantage of high-speed microcontrollers. since microcontrollers do not typically have ready inputs, standard peripherals cannot extend cycles to extend t he access time. the access time of the COM20019I, on the other hand, is so fast that it does not need to limit the s peed of the microcontroller. the COM20019I is designed to be flexible so that it is independent of the microcontroller speed. the COM20019I provides for no wait st ate arbitration via direct addressi ng to its internal registers and a pointer based addressing scheme to access its internal ram. the pointer may be used in auto-increment mode for typical sequential buffer emptying or loading, or it can be taken out of auto-increment mode to perform random accesses to the ram. the data within the ram is accessed th rough the data register. data being read is prefetched from memory and placed into the data register for the microcontroller to read. it is important to notice that only by writing a ne w address pointer (writing to an address pointer low), one obtains the contents of COM20019I internal ram. performing only read from the data register does not load new data from the internal ram . during a write operation, the data is stored in the data register and then written into memory. whenever the pointer is loaded for reads with a new value, data is immediately prefetched to prepar e for the first read operation.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 16 smsc COM20019I datasheet rxin npulse1 npulse2 txen gnd +5v 100 ohm backplane configuration figure a rxin npulse1 figure b receiver hfd3212-002 2 +5v 7 6 transmitter hfe4211-014 +5v 3 2 fiber interface (st connectors) 2 6 7 note: com20019 must be in backplane mode a d0-ad7 nint1 reset nrd nwr a 15 a d0-ad2, d3-d7 ncs nreset nrd/nds nwr/dir nintr a 2/bale a le xtal1 xtal2 gnd rxin npulse1 npulse2 ntxen 8051 COM20019I differential driver configuration media interface may be replaced with figure a or b. * 75176b or equiv. a 0/nmux 27 pf 27 pf xtal2 xtal1 20 mhz xtal figure 5.1 - multiplexed, 8051-like bus interface with rs-485 interface
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 17 rev. 04-15-05 datasheet d0-d7 nirq1 nres nios r/nw a 7 d0-d7 a 0/nmu a 0 xtal1 xtal2 a 1 a 1 ncs nrese nrd/nd nwr/ndi nintr a 2/bal a 2 rxin npulse npulse txen gnd differential configuratio 6801 COM20019I media may be with figure a o r * 75176b or equiv. xtal1 xtal2 27 pf 27 pf 20mhz xtal figure 5.2 - non-multiplexed, 6801-like bus interface with rs-485 interface
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 18 smsc COM20019I datasheet 5.1.1 high speed cp u bus timing support high speed cpu bus support was added to the COM20019I. the reasoning behind this is as follows: with the host interface in no n-multiplexed bus mode, i/o address and chip select signals must be stable before the read signal is active and remain after the read signal is inactive. but the high speed cpu bus timing doesn't adhere to these timings. for example, a risc type single chip microcontroller (like the hitachi sh-1 series) changes i/o address at the same time as the read signal. therefore, several external logic ics would be required to connect to this microcontroller. in addition, the diagnostic status (diag) register is cleared automatically by reading itself. the internal diag register read signal is gen erated by decoding the address (a 2-a0), chip select (ncs) and read (nrd) signals. the decoder will generate a noise spik e at the above tight timing. the diag register is cleared by the spike signal without reading itself. this is unexpected operation. reading the internal ram and next id register have the same me chanism as reading the diag register. therefore, the address decode an d host interface mode blocks were modified to fit the above cpu interface to support high speed cpu bus timing. in intel cpu mode (nrd, nw r mode), 3 bit i/o address (a2-a0) and chip select (ncs) are sampled internally by flip-flops on the falling edge of the internal delayed nrd signal. the internal real read signal is the more delayed nrd signal. but the rising edge of nrd doesn't delay. by this modification, the internal real address and chip select are stable while the internal real read signal is active. refer to figure 5.3 below. figure 5.3 - high speed cpu bus timing - intel cpu mode the i/o address and chip select signals, which are s upplied to the data output logic, are not sampled. also, the nrd signal is not delayed, because the ab ove sampling and delaying paths decrease the data access time of the read cycle. the above sampling and delaying signals are supplied to the read pulse generation logic which generates the clearing pulse for the diagnostic regi ster and generates the st arting pulse of the ram arbitration. typical delay time between nrd and nrd1 is around 15ns and between nrd1 and nrd2 is around 10ns. longer pulse widths are needed due to these delays on nrd signal. however, the cpu can insert some wait cycles to extend the width without any impact on performance. the rbustmg bit was added to disable/enable the high speed cpu read function. it is defined as: rbustmg=0, disabled (default); rbustmg=1, enabled. a2-a0, ncs nrd delayed nrd (nrd1) sampled a2-a0, ncs more delayed nrd (nrd2) valid valid
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 19 rev. 04-15-05 datasheet in the motorola cpu mode (dir, nds mode), the same modifications apply. rbustmg bit bus timing mode 0 normal speed cpu read and write 1 high speed cpu read and normal speed cpu write 5.2 transmission media interface the bottom halves of figures 2 and 3 illustrate the COM20019I interface to the transmission media used to connect the node to the network. table 1 lists di fferent types of cable which are suitable for arcnet applications. (refer to note 5.1) the user may interface to the cabl e of choice in one of three ways: note 5.1 please refer to tn7-5 ? cabling guidelines for the com20020 ulanc , available from smsc, for recommended cabling distance, termination, and node count for arcnet nodes. 5.2.1 backplane configuration the backplane open drain configuration is recommended for cost-sensitive, short- distance applications like backplanes and instrumentation. this mode is advantageous because it saves components, cost, and power. since the backplane configuration encodes data differently than the tr aditional hybrid configuration, nodes utilizing the backplane conf iguration cannot communicate directly with nodes utilizing the traditional hybrid configuration. the backplane conf iguration does not isolate the node from the media nor protects it from common mode noise, but co mmon mode noise is less of a problem in short distances. the COM20019I supplies a programma ble output driver for backplane m ode operation. apush/pull or open drain driver can be selected by programming the p1 mode bit of the setup 1 register (see register descriptions for details). the com2001 9i defaults to an open drain output. the backplane configuration provides for direct co nnection between the COM20019I and the media. only one pull-up resistor (in open drain configuration of the output driver) is required somewhere on the media (not on each individual node). the npulse1 signal, in this mode, is an open drain or push/pull driver and is used to directly drive the media. it issues a 1.6s negative pulse to transmit a logic "1". note that when used in the open-drain mode, the co m20019i does not have a fail/safe input on the rxin pin. the npulse1 signal actually contains a weak pull-up resist or. this pull-up should not take the place of the resistor required on the media for open drain mode.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 20 smsc COM20019I datasheet figure 5.4 - COM20019I network usin g rs-485 differential transceivers in typical applications, the serial backplane is terminated at both ends and a bias is provided by the external pull-up resistor. the rxin signal is directly connected to the cable via an internal schmitt trigger. a negative pulse on this input indicates a logic "1". lack of pulse indicates a logic "0". for typical single-ended backplane applications, rxin is connected to npulse1 to make the serial backplane data line. a ground line (from the coax or twisted pair) should run in parallel with th e signal. for applications requiring different treatment of the receive signal (like filtering or squelching ), npulse1 and rxin remain as independent pins. external differential drivers/receivers for increased range and common mode noise rejection, for example, would require the signals to be independent of one an other. when the device is in backplane mode, the clock provided by the npulse2 signal may be used for encoding the data into a different encoding scheme or other synchronous operations needed on the serial data stream. 5.2.2 differential dr iver configuration the differential driver configurat ion is a special case of the backplane mode. it is a dc coupled configuration recommended for applications like car-ar ea networks or other cost-sensitive applications which do not require direct compatibility with exis ting arcnet nodes and do not require isolation. the differential driver configurat ion cannot communicate directly with nodes utilizing the traditional hybrid configuration. like the ba ckplane configuration, the different ial driver configuration does not isolate the node from the media. the differential driver interface includes a rs485 driver/receiver to transfer the data between the cable and the COM20019I. the npulse1 signal transmits th e data, provided the transmit enable signal is active. the npulse1 signal issues a 1.6s negative pulse to transmit a logic "1". lack of pulse indicates a logic "0". the rxin signal receives the data, the transmitter portion of the COM20019I is disabled during reset and the npulse1, npulse2 and ntxen pins are inactive. 5.2.3 programmable txen polarity to accommodate transceivers with active high en able pins, the COM20019I contains a programmable txen output. to program the txen pin for an active high pulse, the npulse2 pin should be connected to ground. to retain the normal active low polarity, npulse2 should be left open. the polarity determination is made at power on reset and is valid only for backplane mode operation. the npulse2 pin should remain grounded at all times if an active high polarity is desired. COM20019I +vcc rbias +vcc +vcc rbias rbias rt rt 75176b o r equiv. COM20019I COM20019I
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 21 rev. 04-15-05 datasheet figure 5.5 - internal block diagram micro- sequencer and working registers status/ command register reset logic reconfiguration timer node id logic oscillator tx/rx logic additional registers address decoding circuitry 2k x 8 ad0-ad2, bus arbitration circuitry npulse1 npulse2 ntxen nintr nreset ram a 0 / n m u x a 1 a 2 / b a l e nrd/nds nwr/dir ncs d3-d7 rxin xtal1 xtal2
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 22 smsc COM20019I datasheet table 5.1 - typical media cable type nominal impedance attenuation per 1000 ft. at 5 mhz rg-62 belden #86262 93 ? 5.5db rg-59/u belden #89108 75 ? 7.0db rg-11/u belden #89108 75 ? 5.5db ibm type 1 (see note 5.2) belden #89688 150 ? 7.0db ibm type 3 (see note 5.2) telephone twisted pair belden #1155a 100 ? 17.9db comcode 26 awg twisted pair part #105-064-703 105 ? 16.0db note 5.2 non-plenum-rated cables of th is type are also available. note: for more detailed information on cabling options including rs-485, transformer-coupled rs-485 and fiber optic interfaces, please refer to tn7-5 ? cabling guidelines for the com20020 ulanc , available from standard microsystems corporation.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 23 rev. 04-15-05 datasheet chapter 6 functional description 6.1 microsequencer the COM20019I contains an internal microsequencer which performs all of the control operations necessary to carry out the arcnet protocol. it consis ts of a clock generator, a 544 x 8 rom, a program counter, two instruction registers, an instruction decoder, a no-op generator, jump logic, and reconfiguration logic. the COM20019I derives a 625 khz and a 312.5 khz clock from the output clock of the clock multiplier. these clocks provide the rate at wh ich the instructions are executed within the COM20019I. the 625 khz clock is the rate at which the program counter operates , while the 312.5 khz clock is the rate at which the instructions are executed. the microprogram is stored in the rom and the instruct ions are fetched and then placed into the instruction registers. one register holds the opcode, while the ot her holds the immediate data. once the instruction is fetched, it is decoded by the internal instruction decoder, at wh ich point the COM20019I proceeds to execute the instruction. when a no-op instruct ion is encountered, the microsequenc er enters a timed loop and the program counter is temporarily stoppe d until the loop is complete. when a jump instruction is encountered, the program counter is loaded with the jump address fr om the rom. the COM20019I contains an internal reconfiguration timer which interrupt s the microsequencer if it has timed out. at this point the program counter is cleared and the myrecon bit of the diagnostic status register is set. table 6.1 - read register summary register msb read lsb addr status ri/tri x/ri x/ta po r test recon tma ta/ tta 00 diag. status my- recon dupid rcv- act token exc- nak tentid new nextid x 01 address ptr high rd- data auto- inc x x x a10 a9 a8 02 address ptr low a7 a6 a5 a4 a3 a2 a1 a0 03 data d7 d6 d5 d4 d3 d2 d1 d0 04 sub adr x x x x x sub-ad2 sub-ad1 sub- ad0 05 config- uration reset cchen txen et1 et2 back- plane sub-ad1 sub- ad0 06 tentid tid7 tid6 tid5 tid4 tid3 tid2 tid1 tid0 07-0 node id nid7 nid6 nid5 nid4 nid3 nid2 nid1 nid0 07-1 setup1 p1 mode four naks x rcv- all ckp3 ckp2 ckp1 slow- arb 07-2 next id nxt id7 nxt id6 nxt id 5 nxt id4 nxt id3 nxt id2 nxt id1 nxt id0 07-3 setup2 rbus- tmg x x x ef no- sync rcn- tm1 rcm- tm2 07-4
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 24 smsc COM20019I datasheet table 6.2 - write register summary addr msb write lsb register 00 ri/tr1 0 0 0 excnak recon new nextid ta/ tta interrupt mask 01 c7 c6 c5 c4 c3 c2 c1 c0 command 02 rd- data auto- inc 0 0 0 a10 a9 a8 address ptr high 03 a7 a6 a5 a4 a3 a2 a1 a0 address ptr low 04 d7 d6 d5 d4 d3 d2 d1 d0 data 05 0 0 0 0 0 sub-ad2 sub- ad1 sub- ad0 subadr 06 reset cchen txen et1 et2 back- plane sub- ad1 sub- ad0 config- uration 07-0 tid7 tid6 tid5 tid4 tid3 tid2 tid1 tid0 tentid 07-1 nid7 nid6 nid5 nid4 nid3 nid2 nid1 nid0 nodeid 07-2 p1- mode four naks 0 rcv- all ckp3 ckp2 ckp1 slow- arb setup1 07-3 0 0 0 0 0 0 0 0 test 07-4 rbus- tmg 0 0 0 ef no- sync rcn- tm1 rcn- tm0 setup2 6.2 internal registers the COM20019I contains 14 internal re gisters. tables 2 and 3 illustrate the COM20019I register map. all undefined bits are read as undefined and must be written as logic "0". 6.2.1 interrupt mask register (imr) the COM20019I is capable of generatin g an interrupt signal when certain st atus bits become true. a write to the imr specifies which status bits will be enabled to generate an interrupt. the bit positions in the imr are in the same position as their corresponding status bits in the status register and diagnostic status register. a logic "1" in a particular position enables t he corresponding interrupt. the status bits capable of generating an interrupt include the receiver inhi bited bit, new next id bit, excessive nak bit, reconfiguration timer bit, and transmitter available bit. no other status or diagnostic status bits can generate an interrupt. the six maskable status bits are anded with their re spective mask bits, and the results are ored to produce the interrupt signal. an ri or ta inte rrupt is masked when the corresponding mask bit is reset to logic "0", but will reappear when the corresponding ma sk bit is set to logic "1" again, unless the interrupt status condition has been cleared by this time. a recon interrupt is cleared when the "clear flags" command is issued. an excnak interrupt is cleared when the "por clear flags" command is issued. a new next id interrupt is cleared by reading the next id register. the interrupt mask register defaults to the value 0000 0000 upon hardware reset. 6.2.2 data register this read/write 8-bit register is us ed as the channel through which the data to and from the ram passes. the data is placed in or retrieved from the address lo cation presently specified by the address pointer. the contents of the data register are undefined upon hardware reset. in case of read operation, the
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 25 rev. 04-15-05 datasheet data register is loaded with the contents of COM20019I internal me mory upon writing address pointer low only once. 6.2.3 tentative id register the tentative id register is a read/write 8-bit regi ster accessed when the sub address bits are set up accordingly (please refer to the configuration register and sub adr register). the tentative id register can be used while the node is on-line to build a network map of those nodes existing on the network. it minimizes the need for operator interaction with the network. the node determines the existence of other nodes by placing a node id value in the tentative id r egister and waiting to see if the tentative id bit of the diagnostic status register gets set. the network map developed by this method is only valid for a short period of time, since nodes may join or depart from the network at any time. when using the tentative id feature, a n ode cannot detect the existenc e of the next logical node to which it passes the token. the next id register will hold the id value of that node. the tentative id register defaults to the value 0000 0000 upon hardware reset only. 6.2.4 node id register the node id register is a read/write 8-bit register accessed when the sub address bits are set up accordingly (please refer to the configuration regist er and sub adr register). the node id register contains the unique value which identifies this partic ular node. each node on the network must have a unique node id value at all times. the duplicate id bit of the diagnostic status register helps the user find a unique node id. refer to the initialization sequ ence section for further detail on the use of the dupid bit. the core of the COM20019I does not wake up until a node id other than zero is written into the node id register. during this time, no microcode is executed, no tokens are passed by this node, and no reconfigurations are caused by this node. once a non-zero nodeid is placed into the node id register, the core wakes up but will not join the networ k until the txen bit of the configuration register is set. while the transmitter is disabled, the receiver por tion of the device is still functional and will provide the user with useful information about the network. the node id register defau lts to the value 0000 0000 upon hardware reset only. 6.2.5 next id register the next id register is an 8-bit, read-only regist er, accessed when the sub-address bits are set up accordingly (please refer to the configuration regist er and sub adr register). the next id register holds the value of the node id to which the COM20019I will pass the token. when used in conjunction with the tentative id register, the next id register can provide a complete network map. the next id register is updated each time a node enters/leaves t he network or when a network reconfiguration occurs. each time the microsequencer updates the next id register, a new next id interrupt is generated. this bit is cleared by reading the next id register. default value is 0000 0000 upon hardware or software reset. 6.2.6 status register the COM20019I status regist er is an 8-bit read-only register. all of the bits, except for bits 5 and 6, are software compatible with previous smsc arcnet devices. in previous smsc arcnet devices the extended timeout status was provided in bits 5 and 6 of the status register. in the COM20019I, the com20020, the com90c66, and the com90c165, com 20020-5, com20051 and com20051+ these bits exist in and are controlled by the configuration r egister. the status register contents are defined as in table 4, but are defined differently during th e command chaining operation. please refer to the command chaining section for the definition of the st atus register during command chaining operation. the status register defaults to the value 1xx1 0001 upon either hardware or software reset.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 26 smsc COM20019I datasheet 6.2.7 diagnostic status register the diagnostic status register contains seven read-on ly bits which help the user troubleshoot the network or node operation. various combinat ions of these bits and the txen bit of the configuration register represent different situations. all of these bits, except the excessive nack bit and the new next id bit, are reset to logic "0" upon reading the diagnostic status register or upon software or hardware reset. the excnak bit is reset by the "por clear flags" command or upon software or hardware reset. the diagnostic status register defaults to the value 0000 000x upon either hardware or software reset. 6.2.8 command register execution of commands are initiated by performing mi crocontroller writes to this register. any combinations of written data other than those listed in tabl e 5 are not permitted and may result in incorrect chip and/or network operation. 6.2.9 address pointer registers these read/write registers are each 8-bits wide and are used for addressing the internal ram. new pointer addresses should be written by first writing to the high register and then writing to the low register because writing to the low register loads the address. the contents of the address pointer high and low registers are undefined upon hardware reset. writi ng to address pointer low loads the address. 6.2.10 configuration register the configuration register is a read/ write register which is used to co nfigure the different modes of the COM20019I. the configuration regi ster defaults to the value 0001 1000 upon hardware reset only. subad0 and subad1 point to the selection in register 7. 6.2.11 sub-address register the sub-address register is new to the COM20019I, pr eviously a reserved register. bits 2, 1 and 0 are used to select one of the registers assigned to address 7h. subad1 and subad0 already exist in the configuration register on the com200 20b. they are exactly same as those in the sub-address register. if the subad1 and subad0 bits in the configuration register are changed, the subad1and subad0 in the sub-address register are also changed. subad2 is a new sub-address bit. it is used to access the 1 new set up register, setup2. this register is se lected by setting subad2=1. the subad2 bit is cleared automatically by writing t he configuration register. 6.2.12 setup 1 register the setup 1 register is a read/write 8-bit regist er accessed when the sub address bits are set up accordingly (see the bit definitions of the configurati on register). the setup 1 register allows the user to change the network speed (data rate) or the arbitr ation speed independently, invoke the receive all feature and change the npulse1 driv er type. the data rate may be sl owed to 156.25kbps and/or the arbitration speed may be slowed by a factor of two. the setup 1 register defaults to the value 0000 0000 upon hardware reset only.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 27 rev. 04-15-05 datasheet 6.2.13 setup 2 register the setup 2 register is new to the COM20019I. it is an 8-bit read/write register accessed when the sub address bits subad[2:0] are set up accordingly (see th e bit definitions of the s ub address register). this register contains bits for various functions. the ckup 1,0 bits select the clock to be generated from the 20 mhz crystal. the rbustmg bit is used to disable/enable fast read function for high speed cpu bus support. the ef bit is used to enable the new timing for certain functions in the COM20019I (if ef = 0, the timing is the same as in the com20020 rev. b). see appendix ?a?. the nosync bit is used to enable the nosync function during initialization. if this bit is reset, the line has to be idle for the ram initialization sequence to be written. if set, the line does not have to be idle for the initialization sequence to be written. see appendix ?a?. the rcntm[1,0] bits are used to set the time-out perio d of the recon timer. programming this timer for shorter time periods has the benefit of shortened netw ork reconfiguration periods. the time periods shown in the table on the following page are limited by a maximum number of nodes in the network. these time- out period values are for 312.5 k bps. for other data rates, scale the time-out period time values accordingly; the maximum no de count remains the same. rcntm1 rcntm0 time-out period max node count 0 0 6.72 s up to 255 nodes 0 1 1.68 s up to 64 nodes 1 0 840 ms up to 32 nodes 1 1 420 ms* up to 16 nodes (see note 6.1) note 6.1 the node id value 255 must exist in the network for the 420 ms time-out to be valid. table 6.3 - status register bit bit name symbol description 7 receiver inhibited ri this bit, if high, indicates that the receiver is not enabled because either an "enable receive to page fnn" command was never issued, or a packet has been deposited into the ram buffer page fnn as specified by the last "enable receive to page fnn" command. no messages will be re ceived until this command is issued, and once the message has been received, the ri bit is set, thereby inhibiting the receiver. the ri bit is cleared by issuing an "enable receive to page fnn" command. this bit, when set, will cause an interrupt if the corresponding bit of the interrupt mask register (imr) is al so set. when this bit is set and another station attempts to send a packet to this station, this station will send a nak. 6,5 (reserved) thes e bits are undefined. 4 power on reset por this bit, if high, indicates that the COM20019I has been reset by either a software reset, a hardware reset, or writing 00h to the node id register. the por bit is cleared by the "clear flags" command. 3 test test this bit is intended for test and diagnostic purposes. it is a logic "0" under normal operating conditions.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 28 smsc COM20019I datasheet bit bit name symbol description 2 reconfiguration recon this bit, if high, indicates that the line idle timer has timed out because the rxin pin was idle for 656s. the recon bit is cleared during a "clear flags" command. this bit, when set, will cause an interrupt if the corresponding bit in the imr is also set. the interrupt service routine should consist of examining the myrecon bit of the diagnostic st atus register to determine whether there are consecutive re configurations caused by this node. 1 transmitter message acknowledged tma this bit, if high, indicates that t he packet transmitted as a result of an "enable transmit from page fnn" command has been acknowledged. this bit should only be considered valid after the ta bit (bit 0) is set. broadcast messages are never acknowledged. the tma bit is cleared by issuing the "enable transmit from page fnn" command. 0 transmitter available ta this bit, if high, indicates that the transmitter is available for transmitting. this bit is set when the last byte of scheduled packet has been transmitted out, or upon execution of a "disable transmitter" command. the ta bit is cleared by issuing the "enable transmit from page fnn" command after the node next receives the token. this bit, w hen set, will cause an interrupt if the corresponding bit in the imr is also set. table 6.4 - diagnostic status register bit bit name symbol description 7 my reconfiguration my- recon this bit, if high, indicates that a past reconfiguration was caused by this node. it is set when the lost token timer times out, and should be typically read following an interrupt caused by recon. refer to the improved diagnostics section for further detail. 6 duplicate id dupid this bit, if high, indicates that the value in the node id register matches both destination id c haracters of the token and a response to this token has occurred. trailing zero's are also verified. a logic "1" on this bit indicates a duplicate node id, thus the user should write a new value into the node id register. this bit is only useful for duplicate id detection when the device is off line, that is, when the transmitter is disabled. when the device is on line this bit will be set every time the device gets the token. this bit is reset automatically upon reading the diagnostic status register. refer to the improved diagnostics section for further detail. 5 receive activity rcvact this bit, if high, indicates that data activity (logic "1") was detected on the rxin pin of the device. refer to the improved diagnostics section for further detail. 4 token seen token this bit, if high, indicates that a token has been seen on the network, sent by a node other than this one. refer to the improved diagnostic section for further detail. 3 excessive nak excnak this bit, if high, indicates that either 128 or 4 negative acknowledgements have occurred in response to the free buffer enquiry. this bit is cleared upon the "por clear flags" command. reading the diagnostic status register does not clear this bit. this bit, when se t, will cause an interrupt if the corresponding bit in the imr is also set. refer to the improved diagnostics section for further detail.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 29 rev. 04-15-05 datasheet bit bit name symbol description 2 tentative id tentid this bit, if high, indicates that a response to a token whose did matches the value in the tentative id register has occurred. the second did and the trailing zero's are not checked. since each node sees every token passed around the network, this feature can be used with the device on-line in order to build and update a network map. refer to the improved diagnostics section for further detail. 1 new next id new nxtid this bit, if high, indicates that the next id register has been updated and that a node has either joined or left the network. reading the diagnostic status register does not clear this bit. this bit, when set, will cause an interrupt if the corresponding bit in the imr is also set. the bit is cleared by reading the next id register. 1,0 (reserved) thes e bits are undefined. table 6.5 - command register data command description 0000 0000 clear transmit interrupt this command is used only in the command chaining operation. please refer to the command chaining section for definition of this command. 0000 0001 disable transmitter this command will cancel any pending transmit command (transmission that has not ye t started) and will set the ta (transmitter available) status bit to logic "1" when the COM20019I next rece ives the token. 0000 0010 disable receiver this command will cancel any pending receive command. if the COM20019I is not yet receiving a packet, the ri (receiver inhibited) bit will be set to logic "1" the next time the token is received. if packet reception is already underway, reception will run to its normal conclusion. b0fn n100 enable receive to page fnn this command allows the COM20019I to receive data packets into ram buffer page fnn and resets the ri status bit to logic "0". the values placed in the "nn" bits indicate the page that the data will be received into (page 0, 1, 2, or 3). if the value of "f" is a logic "1", an offset of 256 bytes will be added to that page specified in "nn", allowing a finer resolution of the buffer. refer to the selecting ram page size sect ion for further detail. if the value of "b" is logic "1", the device will also receive broadcasts (transmissions to id zero). the ri status bit is set to logic "1" upon successful reception of a message. 00fn n011 enable transmit from page fnn this command prepares the COM20019I to begin a transmit sequence from ram buffer page fnn the next time it receives the token. the values of the "nn" bits indicate which page to transmit from (0, 1, 2, or 3). if "f" is logic "1", an offset of 256 bytes is the start of the page spec ified in "nn", allowing a finer resolution of the buffer. refer to the selecting ram page size section for further detail. when this command is loaded, the ta and tma bits are reset to logic "0". the ta bit is set to logic "1" upon completion of the transmit sequence. the tma bit will have been set by this time if the device has received an ack from the destination node. the ack is strictly hardware level, sent by the receiving node before its microcontroller is even aware of message reception. refe r to figure 1 for details of the transmit sequence and its relation to the ta and tma status bits.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 30 smsc COM20019I datasheet data command description 0000 c101 define configuration this command defines the maximum length of packets that may be handled by the device. if "c" is a logic "1", the device handles both long and short packets. if "c" is a logic "0", the device handles only short packets. 000r p110 clear flags this command resets certain status bits of the COM20019I. a logic "1" on "p" resets the por status bit and the excnak diagnostic status bit. a logic "1" on "r" resets the recon status bit. 0000 1000 clear receive interrupt this command is used only in the command chaining operation. please refer to the command chaining section for definition of this command. table 6.6 - address pointer high register bit bit name symbol description 7 read data rddata this bit tells the COM20019I whether the following access will be a read or write. a logic "1" prepares the device for a read, a logic "0" prepares it for a write. 6 auto increment autoinc this bit controls whether the address pointer will increment automatically. a logic "1" on this bit allows automatic increment of the pointer after each access, while a logic "0" disables this function. please refer to the sequential access memory section for further detail. 5-3 (reserved) these bits are undefined. 2-0 address 10-8 a10-a8 these bits hold the upper three address bits which provide addresses to ram. table 6.7 - address pointer low register bit bit name symbol description 7-0 address 7-0 a7-a0 these bits hold the lower 8 address bits which provide the addresses to ram.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 31 rev. 04-15-05 datasheet table 6.8 - sub address register bit bit name symbol description 7-3 reserved these bits are undefined. 2,1,0 sub address 2,1,0 subad 2,1,0 these bits determine which register at address 07 may be accessed. the combinations are as follows: subad2 subad1 subad0 register 0 0 0 tentative id \ (same 0 0 1 node id \ as in 0 1 0 setup 1 / config 0 1 1 next id / register) 1 0 0 setup 2 1 0 1 reserved 1 1 0 reserved 1 1 1 reserved subad1 and subad0 are exactly the same as exist in the configuration register. subad2 is cleared automatically by writing the configuration register. table 6.9 - configuration register bit bit name symbol description 7 reset reset a software reset of the COM20019I is executed by writing a logic "1" to this bit. a soft ware reset does not reset the microcontroller interface mode, nor does it affect the configuration register. the onl y registers that the software reset affect are the status r egister, the next id register, and the diagnostic status re gister. this bit must be brought back to logic "0" to release the reset. 6 command chaining enable cchen this bit, if high, enables the command chaining operation of the device. please refer to the command chaining section for further details. a low level on this bit ensures software compatibility with previous smsc arcnet devices. 5 transmit enable txen when low, this bit disables transmissions by keeping npulse1, npulse2 if in non-backplane mode, and ntxen pin inactive. when high, it enables the above signals to be activated during transmissions. this bit defaults low upon reset. this bit is typically enabled once the node id is determined, and never disabled during normal operation. please refer to the improved diagnostics section for details on evaluating network activity.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 32 smsc COM20019I datasheet bit bit name symbol description 4,3 extended timeout 1,2 et1, et2 these bits allow the network to operate over longer distances than the default maxi mum 32 miles by controlling the response, idle, and reconfiguration times. all nodes should be configured with the same timeout values for proper network operation. for the COM20019I with a 20 mhz crystal oscillator, the bit combinations follow: et2 0 0 1 1 et1 0 1 0 1 response time (ms) 9.548 4.774 2.387 0.597 idle time (ms) 10.496 5.248 2.624 0.656 reconfig time (s) 13.44 13.44 13.44 6.72 note: these values are for 312.5 kbps and rcntmr[1,0]=00. reconfiguration time is changed by the rcntmr1 and rcntmr0 bits. 2 backplane back- plane a logic "1" on this bit puts the device into backplane mode signaling which is used for open drain and differential driver interfaces. this bit must be set to ?1? at the COM20019I. 1,0 sub address 1,0 subad 1,0 these bits determine which register at address 07 may be accessed. the combinations are as follows: subad1 subad0 register 0 0 tentative i 0 1 node id 1 0 setup 1 1 1 next id see also the sub address register. table 6.10 - setup 1 register bit bit name symbol description 7 pulse1 mode p1mode this bit determines the type of pulse1 output driver used in backplane mode. when high, a push/pull output is used. when low, an open drain output is used. the default is open drain. 6 four nacks four nacks this bit, when set, will cause the exnack bit in the diagnostic status register to set after four nacks to free buffer enquiry are detected by the COM20019I. this bit, when reset, will set the exna ck bit after 128 nacks to free buffer enquiry. the default is 128. 5 reserved do not set. 4 receive all rcvall this bit, when set, allows the COM20019I to receive all valid data packets on the net work, regardless of their destination id. this mode can be used to implement a network monitor with the trans mitter on- or off-line. note that acks are only sent for packets received with a destination id equal to the COM20019I's programmed node id. this feature can be used to put the COM20019I in a 'listen-only' mode, where the transmitter is disabled and the COM20019I is not passing tokens. defaults low.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 33 rev. 04-15-05 datasheet bit bit name symbol description 3,2,1 clock prescaler bits 3,2,1 ckp 3,2,1 these bits are used to determine the data rate of the COM20019I. the following table is for a 20 mhz crystal: ckp3 0 1 ckp2 1 0 ckp1 1 0 divisor 64 128 speed 312.5 kbs 156.25 kbs note : the lowest data rate achievable by the COM20019I is 156.25 kbs. defaults to 011 or 312.5 kbps. 0 slow arbitration select slowarb this bit, when set, will divide the arbitration clock by 2. memory cycle times will increase when slow arbitration is selected. defaults to low. table 6.11 - setup 2 register bit bit name symbol description 7 read bus timing select rbustmg this bit is used to disable/enable the high speed cpu read function for high speed cpu bus support. rbustmg=0: disable (default), rbustmg=1: enable. it does not influence write operation. high speed cpu read operation is only for non-multiplexed bus. 6,5,4 reserved these bits are undefined. 3 enhanced functions ef this bit is used to enable the new enhanced functions in the COM20019I. ef = 0: disable (default), ef = 1: enable. if ef = 0, the timing and function is the same as in the com20020, revision b. see appendix ?a?. ef bit must be ?1? if the data rate is over 5mbps. ef bit should be ?1? for new design customers. ef bit should be ?0? for replacement customers. 2 no synchronous nosync this bit is used to enable the sync command during initialization. nosync= 0, e nable (default) the line must be idle for the ram initialization sequence to be written. nosync= 1, disable:) the line does not have to be idle for the ram initialization sequence to be written. see appendix ?a?. 1,0 reconfiguration timer 1, 0 rcntm1, 0 these bits are used to program the reconfiguration timer as a function of maximum node count. these bits set the time out period of the reconfiguration timer as shown below. the time out periods shown are for 312.5 kbps. rcntm1 rcntm0 time out period max node count 0 0 6.72 s up to 255 nodes 0 1 1.68 s up to 64 nodes 1 0 840 ms up to 32 nodes 1 1 420 ms* up to 16 nodes note*: the node id value 255 must exist in the network for 420 ms timeout to be valid.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 34 smsc COM20019I datasheet figure 6.1 - sequential access operation 6.3 internal ram the integration of the 2k x 8 ram in the COM20019I represents signif icant real estate savings. the most obvious benefit is the 48 pin package in which the device is now placed (a direct re sult of the integration of ram). in addition, the pc board is now free of the cumbersome external ram, external latch, and multiplexed address/data bus and contro l functions which were necessary to interface to the ram. the integration of ram represents signifi cant cost savings because it isol ates the system designer from the changing costs of external ram and it minimizes reli ability problems, assembly time and costs, and layout complexity. 6.3.1 sequential access memory the internal ram is accessed via a pointer-based schem e. rather than interfering with system memory, the internal ram is indirectly accessed through the address high and low pointer registers. the data is address pointer register low 2k x 8 ram 11 data register 8 i/o address 04h i/o address 03h 11-bit counter memory address bus memory data bus d0-d7 high i/o address 02h internal
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 35 rev. 04-15-05 datasheet channeled to and from the microcontroller via the 8-bit data register. for example: a packet in the internal ram buffer is read by the microcontroller by writing the corresponding address into the address pointer high and low registers (offsets 02h and 03h). note that the high register should be written first, followed by the low register, because writing to the low register loads the address. at this point the device accesses that location and places the co rresponding data into the data register. the microcontroller then reads t he data register (offset 04h) to obtain the data at the s pecified location. if the auto increment bit is set to logic "1", the device will automatically increment the address and place the next byte of data into the data r egister, again to be read by the microcont roller. this process is continued until the entire packet is read out of ram. refer to figure 7 for an illustration of the sequential access operation. when switching between reads and writes, th e pointer must first be written with the starting address. at least one cycle time should separate the pointer being loaded and the first read (see timing parameters). 6.3.2 access speed the COM20019I is able to accommodate very fast acce ss cycles to its registers and buffers. arbitration to the buffer does not slow down the cycle because the pointer based access method allows data to be prefetched from memory and stored in a temporary register. likewise, data to be written is stored in the temporary register and then written to memory. for systems which do not require quick access time, the arbitration clock may be slowed down by setting bit 0 of the setup1 register equal to logic "1". since the slow arbitrati on feature divides the input clock by two, the duty cycle of the input clock may be relaxed. 6.4 software interface the microcontroller interfaces to t he COM20019I via software by accessing the various registers. these actions are described in the internal registers section. the software flow for accessing the data buffer is based on the sequential access scheme. the basic sequence is as follows: ? disable interrupts ? write to pointer register high (specifying auto-increment mode) ? write to pointer register low (this loads the address) ? enable interrupts ? read or write the data register (repeat as ma ny times as necessary to empty or fill the buffer) ? the pointer may now be read to determine how many transfers were completed. the software flow for controlling the configuration, node id, tentative id, and next id registers is generally limited to the initialization sequ ence and the maintenance of the network map. additionally, it is necessary to understand the details of how the other internal registers are used in the transmit and receive sequences and to know how the internal ram buffer is properly set up. the sequence of events that tie these actions together is discussed as follows. 6.4.1 selecting ram page size during normal operation, the 2k x 8 of ram is divided into four pages of 512 bytes each. the page to be used is specified in the "enable transmit (receive) from (to) page fnn" command, where "nn" specifies page 0, 1, 2, or 3. this allows the user to have constant control over the allocation of ram. when the offset bit "f" (bit 5 of t he "enable transmit (receive) from (to) page fnn" command word) is set to logic "1", an offset of 256 bytes is added to the pa ge specified. for example: to transmit from the second half of page 0, the command "enable transmit from page fnn" (fnn=100 in this case) is issued by writing 0010 0011 to the command register. this allows a finer resolution of the buffer pages without affecting
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 36 smsc COM20019I datasheet software compatibility. this scheme is useful for applications which frequently use packet sizes of 256 bytes or less, especially for microcontroller systems wi th limited memory capacity. the remaining portions of the buffer pages which are not allocated for cu rrent transmit or receive packets may be used as temporary storage for previous network data, packets to be sent later, or as extra memory for the system, which may be indirectly accessed. if the device is configured to handle both long and s hort packets (see "define configuration" command), then receive pages should always be 512 bytes long bec ause the user never knows what the length of the receive packet will be. in this case, the transmit pages may be made 256 bytes long, leaving at least 512 bytes free at any given time. even if t he command chaining operation is being used, 512 bytes is still guaranteed to be free because command chaining only requires two pages for transmit and two for receive (in this case, two 256 byte pages for transmit and two 512 byte pages for receive, leaving 512 bytes free). please note that it is the re sponsibility of software to reserve 512 bytes for each receive page if the device is configured to handle long packets. the COM20019I does not check page boundaries during reception. if the device is configured to handle only short packets, then both transmit and receive pages may be allocated as 256 bytes long, freeing at least 1kbyte at any given time. even if the command chaining operation is being us ed, 1kbyte is still guaranteed to be free because command chaining only requires two pages for transmit and two for receive (in this case, a total of four 256 byte pages, leaving 1k free). the general rule which may be applied to determine where in ram a page begins is as follows: address = (nn x 512) + (f x 256).
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 37 rev. 04-15-05 datasheet figure 6.2 - ram buffer packet configuration 6.4.2 transmit sequence during a transmit sequence, the microcontroller sele cts a 256 or 512 byte segment of the ram buffer and writes into it. the appropriate buffer size is specif ied in the "define configuration" command. when long packets are enabled, the COM20019I interprets the packet as either a long or short packet, depending on whether the buffer address 2 contains a zero or non- zero value. the format of the buffer is shown in figure 8. address 0 contains the s ource identifier (sid); address 1 c ontains the desti nation identifier (did); address 2 (count) contains, for short packets , the value 256-n, where n represents the number of information bytes in the message, or for long packe ts, the value 0, indicating that it is indeed a long packet. in the latter case, address 3 (count) would contain the value 512-n, where n represents the number of information bytes in the message. the sid in address 0 is used by the receiving node to reply to the transmitting node. the COM20019I puts the local id in this location, therefore it is not necessary to write into this location. please note that a short packet may contain between 1 and 253 data bytes, while a long packet may contain between 257 and 508 data byte s. a minimum value of 257 exists on a long packet so that the count is expressible in eight bits . this leaves three exception packet lengths which do not fit into either a short or long packet; packet lengt hs of 254, 255, or 256 bytes. if packets of these sid did count = 256-n not used data byte 1 data byte 2 data byte n-1 data byte n not used sid did 0 count = 512-n not used data byte 1 data byte 2 data byte n-1 data byte n short packet format long packet format a ddress address 0 1 2 count 255 511 n = data packet length sid = source id did = destination id (did = 0 for broadcasts) 0 1 2 count 511 3
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 38 smsc COM20019I datasheet lengths must be sent, the user must add dummy bytes to the packet in order to make the packet fit into a long packet. once the packet is written into the buffer, the microcontroller awaits a logic "1" on the ta bit, indicating that a previous transmit command has concluded and anothe r may be issued. each time the message is loaded and a transmit command issued, it will take a variable amount of time before the message is transmitted, depending on the traffic on the network and the location of the token at the time the transmit command was issued. the conclusion of the transmit command will generate an interrupt if the interrupt mask allows it. if the device is configured for the command chaining operation, please see the command chaining section for further detail on the transmit sequence. once the ta bit becomes a logic "1", the microcontroller may issue the "enable transmit from page fnn" command, which resets the ta and tma bits to logic "0". if the message is not a broadcast, the COM20019I automatically sends a free buffer enquiry to the destination node in order to send the message. at this point, one of four possibilities may occur. the first possibility is if a free buffer is available at the destination node, in which case it responds with an acknowledgement. at this point, the COM20019I fetches the data from the transmit buffer and performs the transmit sequence. if a successful transmit sequence is completed, the tma bit and the ta bit are set to logic "1". if the packet was not tr ansmitted successfully, tma will not be set. a successful transmission occurs when the receiving node responds to the packet wi th an ack. an unsuccessful transmission occurs when the receiving node does not respond to the packet. the second possibility is if the destination node responds to the free buffer enquiry with a negative acknowledgement. a nak occurs when the ri bit of the destination node is a logic "1". in this case, the token is passed on from the transmitting node to the next node. the next time the transmitter receives the token, it will again transmit a free buffer enquiry. if a nak is again received, the token is again passed onto the next node. the excessive nak bit of the diagnostic status register is used to prevent an endless sending of fbe's and nak's. if no limit of fbe-nak sequences existed, the transmitting node would continue issuing a free buffer enquiry, even though it would continuously receive a nak as a response. the excnak bit generates an interrupt (if enabled) in order to tell the microcontroller to disable the transmitter via the "disable transmitter" command. this causes the transmission to be abandoned and the ta bit to be set to a logic "1" when the node next receives the token, while the tma bit remains at a logic "0". please refer to the improved diagnostics section for further detail on the excnak bit. the third possibility which may occur after a free buffer enquiry is issued is if the destination node does not respond at all. in this case, the ta bit is set to a logic "1", while the tma bit remains at a logic "0". the user should determine whether the node should try to reissue the transmit command. the fourth possibility is if a non-traditional response is received (some pattern ot her than ack or nak, such as noise). in this case, the token is not passed onto the next node, which causes the lost token timer of the next node to time out, thus generating a network reconfiguration. the "disable transmitter" command may be used to cancel any pending transmit command when the COM20019I next receives the token. normally, in an active network, this command will set the ta status bit to a logic "1" when the token is received. if the "disable transmitter" command does not cause the ta bit to be set in the time it takes the token to make a round tr ip through the network, one of three situations exists. either the node is disconnected from the network, or there are no other nodes on the network, or the external receive circuitry has failed. these situations can be determined by either using the improved diagnostic features of the COM20019I or using another software tim eout which is greater than the worst case time for a round trip token pass, which occurs when all nodes transmit a maximum length message. 6.4.3 receive sequence a receive sequence begins with the ri status bit bec oming a logic "1", which indicates that a previous reception has concluded. the microcontroller will be interrupted if the corresponding bit in the interrupt mask register is set to logic "1". otherwise, the microcontroller must periodically check the status register. once the microcontroller is alerted to the fa ct that the previous recept ion has concluded, it may issue the "enable receive to page fnn" command, which resets the ri bit to logic "0" and selects a new page in the ram buffer. again, the appropriate buffer size is specified in t he "define configuration"
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 39 rev. 04-15-05 datasheet command. typically, the page which just received the data packet will be read by the microcontroller at this point. once the "enable receive to page fnn" co mmand is issued, the microcontroller attends to other duties. there is no way of knowing how long the ne w reception will take, since another node may transmit a packet at any time. when another node does transmit a packet to this node, and if the "define configuration" command has enabled the reception of long packets, the COM20019I interprets the packet as either a long or short packet, depending on whether t he content of the buffer location 2 is zero or non- zero. the format of the buffer is shown in figure 9. address 0 contains the source identifier (sid), address 1 contains the destination identifier (did), and address 2 cont ains, for short packets, the value 256-n, where n represents the message le ngth, or for long packets, the valu e 0, indicating that it is indeed a long packet. in the latter case, address 3 contains the value 512-n, where n represents the message length. note that on reception, the COM20019I deposits packets into the ram buffer in the same format that the transmitting node arranges them, which allows for a message to be received and then retransmitted without rearranging any bytes in the ra m buffer other than the sid and did. once the packet is received and stored correctly in the selected bu ffer, the COM20019I sets the ri bit to logic "1" to signal the microcontroller that the reception is complete. figure 6.3 - command chaining status register queue 6.5 command chaining the command chaining operation allows consecutive tr ansmissions and receptions to occur without host microcontroller intervention. through the use of a dual two-level fifo, commands to be transmitted and received, as well as the status bits, are pipelined. in order for the COM20019I to be compatible with previous smsc arcnet dev ice drivers, the device defaults to the non-chaining mode. in order to ta ke advantage of the command chaining operation, the command chaining mode must be enabled via a logic "1" on bit 6 of the configuration register. in command chaining, the status regi ster appears as in figure 6.3. the following is a list of command chaining guidelines for the software programmer. further detail can be found in the transmit command chaining and receive command chaining sections. ? the device is designed such that the interrupt se rvice routine latency does not affect performance. ? up to two outstanding transmissions and two out standing receptions can be pending at any given time. the commands may be given in any order. ? up to two outstanding transmit interrupts and tw o outstanding receive interrupts are stored by the device, along with their respective status bits. ? the interrupt mask bits act on tta (rising transition on transmitter available) for transmit operations and tri (rising transition of receiver in hibited) for receive operations. tta is set upon completion of a packet transmission only. tri is set upon completion of a packet reception only. typically there is no need to mask the tta and tri bits after clearing the interrupt. tri ri ta por test recon tma tta tma tta tri msb lsb
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 40 smsc COM20019I datasheet ? the traditional ta and ri bits are still available to reflect the present status of the device. 6.5.1 transmit command chaining when the processor issues the first "enable transmit to page fnn" command, the COM20019I responds in the usual manner by resetting the ta and tma bits to prepare for the transmission from the specified page. the ta bit can be used to see if there is curr ently a transmission pending, but the ta bit is really meant to be used in the non-chaining mode only. t he tta bits provide the relevant information for the device in the command chaining mode. in the command chaining mode, at any time after t he first command is issued, the processor can issue a second "enable transmit from page fnn" command. the COM20019I stores the fact that the second transmit command was issued, along with the page number. after the first transmission is completed, the com200 19i updates the status register by setting the tta bit, which generates an interrupt. the interrupt servic e routine should read the status register. at this point, the tta bit will be found to be a logic "1" and the tma (transmit message acknowledge) bit will tell the processor whether the transmission was successful. after reading the status register, the "clear transmit interrupt" command is issued, thus resetting the tta bit and clearing the interrupt. note that only the "clear transmit interrupt" command will clear the tta bit and the interrupt. it is not necessary, however, to clear the bit or the interrupt right away because the status of the transmit operation is double buffered in order to retain the results of the firs t transmission for analysis by the processor. this information will remain in the status register until the "clear transmit interrupt" command is issued. note that the interrupt will remain active until the comma nd is issued, and the second interrupt will not occur until the first interrupt is acknowledged. the COM20019I guarantees a minimum of 200ns (at ef=1) interrupt inactive time interval between interrupts. the tma bit is also double buffered to reflect whether the appropriate transmission was a success. the tma bit should only be considered valid after the corresponding tta bit has been set to a logic "1". the tma bit never causes an interrupt. when the token is received again, the second transmissi on will be automatically initiated after the first is completed by using the stored "enable transmit from page fnn" command. the oper ation is as if a new "enable transmit from page fnn" command has just been issued. after the first transmit status bits are cleared, the status register will again be updated with the results of the second transmission and a second interrupt resulting from the second tr ansmission will occur. the COM20019I guarantees a minimum of 200ns (at ef=1) interrupt inactive time interval before the following edge. the transmitter available (ta) bit of the interrupt ma sk register now masks only the tta bit of the status register, not the ta bit as in the non-chaining mode. since the tta bit is only set upon transmission of a packet (not by reset), and since the tta bit may easily be reset by issuing a "clear transmit interrupt" command, there is no need to use the ta bit of the interrupt mask register to mask interrupts generated by the tta bit of the status register. in command chaining mode, the "disable transmitter" command will cancel the oldest transmission. this permits canceling a packet destined for a node not ready to receive. if both packets should be canceled, two "disable transmitter" commands should be issued. 6.5.2 receive command chaining like the transmit command chaining operation, the processor can issue two consecutive "enable receive from page fnn" commands. after the first packet is received into the first specified page, the tri bit of the status register will be set to logic "1", causing an interrupt. again, the interrupt need not be serviced immedi ately. typically, the interrupt service routine will read the status register. at this point, the ri bit will be found to be a logic "1". after reading the status register, the "clear receive interrupt" command should be issued, thus resetting the tri bit and clearing the interrupt. note that onl y the "clear receive interrupt" command will clear the
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 41 rev. 04-15-05 datasheet tri bit and the interrupt. it is not necessary, however, to clear the bit or the interrupt right away because the status of the receive op eration is double buffered in order to retain the results of the first reception for analysis by the processor, therefore the information wi ll remain in the status register until the "clear receive interrupt" command is issued. note that the in terrupt will remain active until the "clear receive interrupt" command is issued, and the second interr upt will be stored until the first interrupt is acknowledged. a minimum of 200ns (at ef=1) interrupt inactive time interval between interrupts is guaranteed. the second reception will occur as soon as a second packet is sent to the node, as long as the second "enable receive to page fnn" command was issued. the operation is as if a new "enable receive to page fnn" command has just been issued. after the first receive status bits are cleared, the status register will again be updated with the results of the second reception and a second interrupt resulting from the second reception will occur. in the COM20019I, the receive inhibit (ri) bit of the interrupt mask register now masks only the tri bit of the status register, not the ri bi t as in the non-chaining mode. since the tri bit is only set upon reception of a packet (not by reset), and since the tri bit may easily be reset by issuing a "clear receive interrupt" command, there is no need to use t he ri bit of the interrupt mask register to mask interrupts generated by the tri bi t of the status register. in co mmand chaining mode, the "disable receiver" command will cancel the oldest reception, unless the reception has already begun. if both receptions should be canceled, two "disable receiver" commands should be issued. 6.6 reset details 6.6.1 internal reset logic the COM20019I includes special reset circuitry to guarantee smooth operation during reset. special care is taken to assure proper operation in a variety of systems and modes of operation. the COM20019I contains digital filter circuitry and a schmitt trigger on the nreset signal to reject glitches in order to ensure fault-free operation. the COM20019I supports two reset options; software an d hardware reset. a software reset is generated when a logic "1" is written to bit 7 of the configuration register. the device remains in reset as long as this bit is set. the software reset does not affect the microcontroller interface modes determined after hardware reset, nor does it affect the contents of the address pointe r registers, the configuration register, or the setup1 register. a hardware reset o ccurs when a low signal is asserted on the nreset input. the minimum reset pulse width is 5t xtl. this pulse width is used by the internal digital filter, which filters short glitches to allow on ly valid resets to occur. upon reset, the transmitter portion of the device is disa bled and the internal registers assume those states outlined in the internal registers section. after the nreset signal is removed the user may write to the internal registers. since writing a non-zero value to the node id register wakes up the COM20019I core, the setup1 register should be written before the node id register. once the node id register is written to, the COM20019I reads the value an d executes two write cycles to the ram buffer. address 0 is written with the data d1h and address 1 is written with the node id. the data pattern d1h was chosen arbitrarily, and is meant to provide assurance of proper microsequencer operation. 6.7 initialization sequence 6.7.1 bus determination writing to and reading from an odd address locati on from the COM20019I's address space causes the COM20019I to determine the appropriate bus interface. when the COM20019I is powered on the internal
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 42 smsc COM20019I datasheet registers may be written to. since writing a non-zero value to the node id register wakes up the core, the setup1 register should be written to before the node id register. until a non-zero value is placed into the nid register, no microcode is executed, no tokens ar e passed by this node, an d no reconfigurations are generated by this node. once a non-zero value is pl aced in the register, the core wakes up, but the node will not attempt to join the network until the tx enable bit of the configuration register is set. before setting the tx enab le bit, the software may make some de terminations. the software may first observe the receive activity and the token seen bits of the diagnostic stat us register to verify the health of the receiver and the network. next, the uniqueness of the node id value placed in t he node id register is determined. the tx enable bit should still be a logic "0" until it is ensured that the node id is unique. if this node id already exists, the duplicate id bit of the diagnostic st atus register is set after a maximum of 6.72s (or 13.44s if the et1 and et2 bits are other than 1,1). to determine if an other node on the network already has this id, the COM20019I compares the value in the node id register with the di d's of the token, and determines whether there is a response to it. once the diagnostic status register is read, the dupid bit is cleared. the user may then attempt a new id value, wait 6.72s before checking the duplicate id bit, and repeat the process until a unique node id is found. at this point, the tx enable bit may be set to allow the node to join the network. once the node joins the network, a reconfiguration occurs, as usual, thus setting the myrecon bit of the diagnostic status register. the tentative id register may be used to build a netwo rk map of all the nodes on the network, even once the COM20019I has joined the network. once a valu e is placed in the tentative id register, the COM20019I looks for a response to a token whose did matches the tentative id register. the software can record this information and continue placing tentat ive id values into the register to continue building the network map. a complete network map is only valid until nodes are added to or deleted from the network. note that a node cannot detect the existenc e of the next logical node on the network when using the tentative id. to determine the next logical node, the software should read the next id register. 6.8 improved diagnostics the COM20019I allows the user to better manage the operation of the network through the use of the internal diagnostic status register. a high level on the my reconfiguration (myrecon) bit indicates that the token reception timer of this node expired, causing a reconfigurati on by this node. after the reconfi guration (recon) bit of the status register interrupts the microcontroller , the interrupt service routine will typically read the myrecon bit of the diagnostic status register. reading the diagnostic status regi ster resets the myrecon bit. successive occurrences of a logic "1" on the myrecon bi t indicates that a problem exists with this node. at that point, the transmitter should be disabled so t hat the entire network is not held down while the node is being evaluated. the duplicate id (dupid) bit is used before the node joins the network to ensure that another node with the same id does not exist on the network. once it is determined that the id in the node id register is unique, the software should write a logic "1" to bit 5 of the configuration regi ster to enable the basic transmit function. this allows the node to join the network. the receive activity (rcvact) bit of the diagnostic status register will be set to a logic "1" whenever activity (logic "1") is detected on the rxin pin. the token seen (token) bit is set to a logic "1" whenever any token has been seen on the network (except those tokens transmitted by this node). the rcvact and token bits may help the user to troubleshoot the network or the node. if unusual events are occurring on the network, the user may find it valuable to use the txen bit of the configuration register to qualify events. different combinati ons of the rcvact, token, and txen bits, as shown indicate different situations:
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 43 rev. 04-15-05 datasheet 6.8.1 normal results: rcvact=1, token=1, txen=0: the node is not part of the network . the network is operating properly without this node. rcvact=1, token=1, txen=1: the node sees receive activity and sees the token. the basic transmit function is enabled. network and node are operating properly. myrecon=0, dupid=0, rcvact=1, txen=0, token=1: single node network. 6.8.2 abnormal results: rcvact=1, token=0, txen=x: the node sees receive activity, but does not see the token. either no other nodes exist on the network, some type of data corru ption exists, the media driver is malfunctioning, the topology is set up incorrectly, there is noise on the network, or a rec onfiguration is occurring. rcvact=0, token=0, txen=1: no receive activity is seen and the basic transmit function is enabled. the transmitter and/or receiver are not functioning properly. rcvact=0, token=0, txen=0: no receive activity and basic transmit function disabled. this node is not connected to the network. the excessive nak (excnak) bit is used to replac e a timeout function tradit ionally implemented in software. this function is necessary to limit the number of times a sender issues a fbe to a node with no available buffer. when the destination node replies to 128 fbes with 128 naks or 4 fbes with 4 naks, the excnak bit of the sender is set, generating an inte rrupt. at this point the software may abandon the transmission via the "disable transmitter" command. this sets the ta bit to logic "1" when the node next receives the token, to allow a different transmission to occur. the timeout value for the exnack bit (128 or 4) is determined by the four-naks bit on the setup1 register. the user may choose to wait for more nak's before di sabling the transmitter by taking advantage of the wraparound counter of the excnak bit. when the excnak bit goes high, indicating 128 or 4 naks, the "por clear flags" command maybe issued to reset the bit so that it will go high again after another count of 128 or 4. the software may count the num ber of times the excnak bit goes high, and once the final count is reached, the "disable transmitter" command may be issued. the new next id bit permits the software to detect the withdrawal or addition of nodes to the network. the tentative id bit allows the user to build a network map of those nodes existing on the network. this feature is useful because it minimizes the need fo r human intervention. when a value placed in the tentative id register matches the node id of another node on the network, the tentid bit is set, telling the software that this node id already exists on the network. the software should periodically place values in the tentative id register and monitor the new next id bit to maintain an updated network map. 6.9 oscillator the COM20019I contains circuitry whic h, in conjunction with an external parallel resonant crystal or ttl clock, forms an oscillator. if an external crystal is used, two capacitors are needed (one from each leg of the crystal to ground). no external resistor is required, since the COM20019I cont ains an internal resistor. the crystal must have an accuracy of 0.020% or better. the oscill ation frequency range is from 10 mhz to 20 mhz. the crystal must have an accuracy of 0.010% or better wh en the internal clock multiplier is turned on. the oscillation frequency must be 20mhz when the in ternal clock multiplier is turned on.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 44 smsc COM20019I datasheet the xtal2 side of the crystal may be loaded with a single 74hc-type buffer in order to generate a clock for other devices. the user may attach an external ttl clock, rather than a crystal, to the xtal1 signal. in this case, a 390 ? pull-up resistor is required on xtal1, while xtal2 should be left unconnected.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 45 rev. 04-15-05 datasheet chapter 7 operational description 7.1 maximum guaranteed ratings* operating temper ature range .................................................................................................. 0 o c to +70 o c storage temperatur e range ................................................................................................-55 o c to +150 o c lead temperature (sol dering, 10 seconds) ....................................................................................... +325 o c positive voltage on any pin, with respect to groun d ........................................................................v dd +0.3v negative voltage on any pin, with respec t to gr ound ............................................................................ . -0.3v maximum v dd .............................................................................................................................. ............ +7v * stresses above those listed may cause permanent damage to the device. this is a stress rating only and functional operation of the device at these or any other condition above those indicated in the operational sections of this specif ication is not implied. note: when powering this device from laboratory or system power supplies, it is im portant that the absolute maximum ratings not be exceeded or device failure can result. some power supplies exhibit voltage spikes or "glitches" on their outputs when the ac power is switched on or off. in addition, voltage transients on the ac power line may appear on the dc outpu t. if this possibility exists it is suggested that a clamp circuit be used. 7.2 dc electrical characteristics v dd =5.0v10% COM20019I: t a =0 o c to +70 o c, COM20019Ii: t a =-40 o c to +85 o c parameter symbol min typ max unit comment low input voltage 1 (all inputs except a2, xtal1, nreset, nrd, nwr, and rxin) high input voltage 1 (all inputs except a2, xtal1, nreset, nrd, nwr, and rxin) v il1 v ih1 2.0 0.8 v v ttl levels ttl levels low input voltage 2 (xtal1) high input voltage 2 (xtal1) v il2 v ih2 4.0 1.0 v v ttl clock input
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 46 smsc COM20019I datasheet parameter symbol min typ max unit comment low to high threshold input voltage (a2, nreset, nrd, nwr, and rxin) high to low threshold input voltage (a2, nreset, nrd, nwr, and rxin) v ilh v ihl 1.8 1.2 v v schmitt trigger, all values at v dd = 5v low output voltage 1 (npulse1 in push/pull mode, npulse2, ntxen) high output voltage 1 (npulse1 in push/pull mode, npulse2, ntxen) v ol1 v oh1 v oh1c 2.4 0.8 x v dd 0.4 v v i sink =4ma i source =-2ma i source =-200a low output voltage 2 (d0-d7) high output voltage 2 (d0-d7) v ol2 v oh2 2.4 0.4 v v i sink =16ma i source =-12ma low output voltage 3 (nintr) high output voltage 3 (nintr) v ol3 v oh3 2.4 0.8 v v i sink =24ma i source =-10ma low output voltage 4 (npulse1 in open-drain mode) v ol4 0.5 v i sink =48ma open drain driver dynamic v dd supply current i dd 20 ma 312.5 kbps all outputs open input pull-up current (npulse1 in open-drain mode, a1, ad0-ad2, d3-d7) input leakage current (all inputs except a1, ad0-ad2, d3-d7, xtal1, xtal2 i p i l 80 200 10 a a v in =0.0v v ss < v in < v dd
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 47 rev. 04-15-05 datasheet capacitance (t a = 25 c; f c = 1mhz; v dd = 0v) output and i/o pins capacitive load specified as follows: parameter symbol min typ max unit comment input capacitance c in 5.0 pf output capacitance 1 (all outputs except xtal2, npulse1 in push/pull mode) output capacitance 2 (npulse1, in backplane mode only - open drain) c out1 c out2 45 400 pf pf maximum capacitive load which can be supported by each output. figure 7.1 - ac measurements 0.4v ac measurements are taken at the following points: inputs: 2.4v 1.4v 50% 50% 0.4v 2.4v 1.4v 0.8v outputs: 2.0v 0.8v 2.0v inputs are driven at 2.4v for logic "1" and 0.4 v for logic "0" except xtal1 pin. outputs are measured at 2.0v min. for logic "1" and 0.8v max. for logic "0". t t t t
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 48 smsc COM20019I datasheet chapter 8 timing diagrams figure 8.1 - multiplexed bus, 68xx-like control signals; read cycle a d0-ad2, valid ncs t1 t3 t8 ale valid data t2, t6 t5 t4 t7 d3-d7 dir t9 t10 nds t11 t12 t13 t14 note 2 parameter min max units t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 address setup to ale low address hold from ale low ncs setup to ale low ncs hold from ale low ale low to nds low nds low to valid data nds high to data high impedance cycle time (nds low to next time low) dir setup to nds active dir hold from nds inactive ale high width ale low width nds low width nds high width 20 10 10 10 15 0 4t arb * 10 10 20 20 60 20 40 20 ns ns ns ns ns ns ns ns ns ns ns ns ns ns must be: rbustmg bit = 0 t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: t opr is the period of operation clock. same as the xtal1 period. note 2: read cycle for address pointer low/high registers occurring after an access to data register requires a minimum of 5t arb from the trailing edge of nds to the leading edge of the next nds.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 49 rev. 04-15-05 datasheet figure 8.2 - multiplexed bus, 80xx-like control signals; read cycle a d0-ad2, valid ncs t1 t3 t8 ale valid data t2, t6 t5 t4 t7 d3-d7 nrd t9 t10 nwr t13 t11 t12 note 3 note 2 must be: rbustmg bit = 0 parameter min max units t1 t2 t3 t4 t5 t6 t7 address setup to ale low address hold from ale low ncs setup to ale low ncs hold from ale low ale low to nrd low nrd low to valid data nrd high to data high impedance cycle time (nrd low to next time low) 20 10 10 10 15 0 4t arb * 40 20 ns ns ns ns ns ns ns 20 20 60 20 20 ale high width ale low width nrd low width nrd high width nwr to nrd low t8 t9 t10 t11 t12 t13 ns ns ns ns ns ns the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. note 2: read cycle for address pointer low/high registers occurring after a read from data register requires a minimum of 5t arb from the trailing edge of nrd to the leading edge of the next nrd. note 3: read cycle for address pointer low/high registers occurring after a write to data register requires a minimum of 5t arb from the trailing edge of nwr to the leading edge of nrd.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 50 smsc COM20019I datasheet figure 8.3 - multiplexed bus, 68xx-like control signals; write cycle a d0-ad2, valid ncs t1 t3 t8 ale valid data t2, t6 t5 t4 t7 d3-d7 dir t9 t10 note 2 t8** nds t11 t12 t13 t14 parameter min max units t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 20 10 10 10 15 10 4t arb * 10 10 20 20 20 20 ns ns ns ns ns ns ns ns ns ns ns ns ns ns address setup to ale low address hold from ale low ncs setup to ale low ncs hold from ale low ale low to nds low valid data setup to nds high data hold from nds high dir setup to nds active dir hold from nds inactive 30 ale high width ale low width nds low width nds high width cycle time (nds to next )** the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: any cycle occurring after a write to address pointer low register r equires a minimum of 4t arb from the trailing edge of nds to the leading edge of the next nds. note 2: ** t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. write cycle for address pointer low register occurring after an access to data register requires a minimum of 5t arb from the trailing edge of nds to the leading edge of the next nds.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 51 rev. 04-15-05 datasheet figure 8.4 - multiplexed bus, 80xx-like control signals; write cycle a d0-ad2, valid ncs t1 t3 ale valid data t2, t6 t5 t4 t7 d3-d7 note 2 t8** nwr t9 t10 nrd t13 t11 t12 t8 note 3 parameter min max units t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 20 10 10 10 15 10 4t arb * 20 20 20 20 20 ns ns ns ns ns ns ns ns ns ns ns ns ns address setup to ale low address hold from ale low ncs setup to ale low ncs hold from ale low ale low to nds low valid data setup to nds high data hold from nds high 30 ale high width ale low width nwr low width nwr high width nrd to nwr low cycle time (nwr to next )** t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: any cycle occurring after a write to address pointer low register requires a minimum of 4t arb from the trailing edge of nwr to the leading edge of the next nwr. note 2: ** write cycle for address pointer low register occurring after a write to data register requires a minimum of 5t arb from the trailing edge of nwr to the leading edge of the next nwr. note 3: write cycle for address pointer low register occurring after a read from data register requires a minimum of 5t arb from the trailing edge of nrd to the leading edge of nwr.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 52 smsc COM20019I datasheet figure 8.5 - non-multiplexed bus, 80xx-li ke control signals; read cycle a 0-a2 valid data valid d0-d7 ncs t6 t1 t7 t3 t5 t4 t2 nrd nwr t10 t8 t9 note 3 note 2 parameter min max units t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 15 10 5** 0 ns ns ns ns address setup to nrd active address hold from nrd inactive ncs setup to nrd active ncs hold from nrd inactive cycle time (nrd low to next time low) nrd low to valid data nrd high to data high impedance 4t arb * 0 60 20 20 40** 20 ns ns ns ns ns ns case 1: rbustmg bit = 0 nrd low width nrd high width nwr to nrd low t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. ncs may become active after control becomes active, but the access time (t6) will now be 45ns measured from the leading edge of ncs. ** the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: note 2: read cycle for address pointer low/high registers occurring after a read from data register requires a minimum of 5t arb from the trailing edge of nrd to the leading edge of the next nrd. note 3: read cycle for address pointer low/high registers occurring after a write to data register requires a minimum of 5t arb from the trailing edge of nwr to the leading edge of nrd. **
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 53 rev. 04-15-05 datasheet a 0-a2 valid data valid d0-d7 ncs t6 t1 t7 t3 t5 t4 t2 nrd nwr t10 t8 t9 note 3 note 2 parameter min max units t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 -5 0 -5 0 ns ns ns ns address setup to nrd active address hold from nrd inactive ncs setup to nrd active ncs hold from nrd inactive cycle time (nrd low to next time low) nrd low to valid data nrd high to data high impedance 4t arb *+30 0 100 30 20 60** 20 ns ns ns ns ns ns nrd low width nrd high width nwr to nrd low case 2: rbustmg bit = 1 the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: t6 is measured from the latest active (valid) timing among ncs, nrd, a0-a2. ** t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. note 2: read cycle for address pointer low/high registers occurring after a read from data register requires a minimum of 5t arb from the trailing edge of nrd to the leading edge of the next nrd. note 3: read cycle for address pointer low/high registers occurring after a write to data register requires a minimum of 5t arb from the trailing edge of nwr to the leading edge of nrd. figure 8.6 - non-multiplexed bus, 80xx-li ke control signals; read cycle
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 54 smsc COM20019I datasheet figure 8.7 - non-multiplexed bus, 68xx-li ke control signals; read cycle a0-a2 valid data valid d0-d7 ncs t8 t1 t9 t3 t6 t4 t2 nds dir t5 t7 t10 t11 note 2 parameter min max units t1 t2 t3 t4 t5 t6 t7 15 10 5** 0 ns address setup to nds active address hold from nds inactive ncs setup to nds active ncs hold from nds inactive dir setup to nds active cycle time (nds low to next time low) dir hold from nds inactive 4t arb * ns ns ns ns ns ns t8 ns nds low to valid data 40** t9 t10 t11 ns ns ns nds high to data high impedence nds low width nds high width 20 10 10 0 60 20 case 1: rbustmg bit = 0 the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: ncs may become active after control becomes active, but the access time (t8) will now be 45ns measured from the leading edge of ncs. ** t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. note 2: read cycle for address pointer low/high registers occurring after an access to data register requires a minimum of 5t arb from the trailing edge of nds to the leading edge of the next nds.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 55 rev. 04-15-05 datasheet figure 8.8 - non-multiplexed bus, 68xx-li ke control signals; read cycle a0-a2 valid data valid d0-d7 ncs t8 t1 t9 t3 t6 t4 t2 nds dir t5 t7 t10 t11 note 2 parameter min max units t1 t2 t3 t4 t5 t6 t7 -5 0 -5 0 ns address setup to nds active address hold from nds inactive ncs setup to nds active ncs hold from nds inactive dir setup to nds active cycle time (nds low to next time low) dir hold from nds inactive 4t arb *+30 ns ns ns ns ns ns t8 ns nds low to valid data 60** t9 t10 t11 ns ns ns nds high to data high impedence nds low width nds high width 20 10 10 0 100 30 case 2: rbustmg bit = 1 the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: ** t8 is measured from the latest active (valid) timing among ncs, nds, a0-a2. t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. note 2: read cycle for address pointer low/high registers occurring after an access to data register requires a minimum of 5t arb from the trailing edge of nds to the leading edge of the next nds.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 56 smsc COM20019I datasheet figure 8.9 - non-multiplexed bus, 80xx-li ke control signals; write cycle data hold from nwr high nwr low width nwr high width nrd to nwr low a0-a2 valid data valid d0-d7 ncs t6 t1 t7 t3 t4 t2 note 2 nwr nrd t10 t8 t9 t5 note 3 t5** t1 t3 t5 t6 t7 t8 t9 t10 parameter address setup to nwr active ncs setup to wr active valid data setup to nwr high min 15 5 10 20 20 20 max 4t arb * 30*** units ns ns ns ns ns ns ns ns t4 ncs hold from nwr inactive 0 ns t2 address hold from nwr inactive 10 ns cycle time (nwr to next )** ***: ncs may become active after control becomes active, but the data setup time will now be 30 ns measured from the later of ncs falling or valid data available. the microcontroller typically accesses the com20019 on every other cycle. therefore, th e cycle time specified in th e microcontroller's datasheet should be doubled when considering back-t o-back com2 0019 cycl es. note 1: note 2: any cycle occurring after a write to the address pointer low register requires a minimum of 4t arb from the trailing edge of nwr to the leading edge of the next nwr. t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. write cycle for address pointer low register occurring after a write to data register requires a minimum of 5t arb from the trailing edge of nwr to the leading edge of the next nwr. note 3: write cycle for address pointer low register occurring after a read from data register requires a minimum of 5t arb from the trailing edge of nrd to the leading edge of nwr. **
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 57 rev. 04-15-05 datasheet figure 8.10 - non-multiplexed bus, 68xx-li ke control signals; write cycle a0-a2 valid data valid d0-d7 ncs t8 t1 t9 t3 t10 t4 t2 note 2 t5 dir t7 nds t11 t6 t6** parameter min max units address setup to nds active address hold from nds inactive ncs setup to nds active ncs hold from nds inactive dir setup to nds active cycle time (nds to next time )** dir hold from nds inactive valid data setup to nds high data hold from nds high nds low width nds high width t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 15 10 5 0 10 4t arb * 10 30*** 10 20 20 ns ns ns ns ns ns ns ns ns ns ns ***: ncs may become active after control becomes active, but the data setup time will now be 30 ns measured from the later of ncs falling or valid data available. t arb is the arbitration clock period t arb is identical to t opr if slow arb = 0 * t arb is twice t opr if slow arb = 1 t opr is the period of operation clock. same as the xtal1 period. the microcontroller typically accesses the com20019 on every other cycle. therefore, the cycle time specified in the microcontroller's datasheet should be doubled when considering back-to-back com20019 cycles. note 1: **note 2: any cycle occurring after a write to the address pointer low register requires a minimum of 4t arb from the trailing edge of nds to the leading edge of the next nds. write cycle for address pointer low registers occurring after an access to data register requires a minimum of 5t arb from the trailing edge of nds to the leading edge of the next nds.
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 58 smsc COM20019I datasheet npulse1 t2 t3 rxin t10 t11 npulse2 t5 t6 (internal clk) t4 t1 t7 ntxen t9 t8 last bit (3200 ns bit time) t13 t12 parameter min typ max units t2 t3 t4 t5 t6 t7 t8 t10 t11 t12 npulse1 pulse width npulse1 period npulse2 low to npulse1 low npulse2 high time npulse2 low time npulse2 period npulse2 high to ntxen high rxin active pulse width rxin period ns ns ns ns ns ns ns ns ns 1600* 3200* 800* 800* 1600* 1600* 3200* 50 50 -25 10 t1 npulse2 high to ntxen low -25 50 ns (first rising edge on npulse2 after last bit time) t9 ntxen low to first npulse1 low** 5500 5700 ns -25 rxin inactive pulse width 20 ns t13 beginning last bit time to ntxen high** 3900 ns 4100 above values are for 312.5 kbps. other data rates are shown below. t dr is the data rate period *t5, t6 = t dr /4 *t2, t7, t10 = t dr /2 *t3, t11 = t dr **t9 = x t dr +/- 100 ns 7 4 **t13 = x t dr +/- 100 ns 5 4 figure 8.11 - backplane mode transmit or receive timing (these signals are to and from the differential driver or the cable)
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 59 rev. 04-15-05 datasheet t1 t3 parameter input clock high time input clock period min 20 50 max units ns ns xtal1 t1 t4 input clock frequency* 100 t2 input clock low time ns t3 20 typ 10 t2 20 mhz t5 frequency accuracy* -200 200 ppm note*: t4 and t5 are applied to crystal oscillaton. 4.0v 1.0v 50% of v dd figure 8.12 - ttl input timing on xtal1 pin t1 parameter nreset pulse width*** min max units nreset t1 t2 nintr high to next nintr low typ t2 nintr 5t xtl * ef = 0 ef = 1 t dr **/2 4t xtl * note*: t xtl is period of external xtal oscillation frequency. note**: t dr is period of data rate (i.e. at 312.5 kbps, t dr = 3200 ns) note***: when the power is turned on, t1 is measured from stable xtal oscillation after v dd was over 4.5v. figure 8.13 - reset an d interrupt timing
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 60 smsc COM20019I datasheet chapter 9 package outlines 9.1 28 pin plcc package outline and parameters a a1 b b1 c d d1 d2 d3 e f g r .160-.180 .090-.120 .013-.021 .026-.032 .020-.045 .485-.495 .450-.456 .390-.430 .300 ref .050 bsc .042-.056 .042-.048 .025-.045 dim 28l j .000-.020 notes: all dimensions are in inches. circle indicating pin 1 can appear on a top surface as shown on the drawing or right above it on a beveled edge. 1. 2. pin no. 1 g e j d3 j d1 d j b1 b a a1 c d2 f r b a s e p l a n e s e a t i n g p l a n e
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 61 rev. 04-15-05 datasheet 9.2 48 pin tqfp package outline and parameters min nominal max remark a ~ ~ 1.6 overall package height a1 0.05 0.10 0.15 standoff a2 1.35 1.40 1.45 body thickness d 8.80 9.00 9.20 x span d/2 4.40 4.50 4.60 1 / 2 x span measure from centerline d1 6.90 7.00 7.10 x body size e 8.80 9.00 9.10 y span e/2 4.40 4.50 4.60 1 / 2 y span measure from centerline e1 6.90 7.00 7.10 y body size h 0.09 ~ 0.20 lead frame thickness l 0.45 0.60 0.75 lead foot length from centerline l1 ~ 1.00 ~ lead length e 0.50 basic lead pitch 0 o ~ 7 o lead foot angle w 0.17 ~ 0.27 lead width r1 0.08 ~ ~ lead shoulder radius r2 0.08 ~ 0.20 lead foot radius ccc ~ ~ 0.0762 coplanarity (assemblers) ccc ~ ~ 0.08 coplanarity (test house) note 1: controlling unit: millimeter
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 62 smsc COM20019I datasheet chapter 10 appendix a this appendix describes the function of the nosync and ef bits. 10.1 nosync bit the nosync bit controls whether or not the ram init ialization sequence requires the line to be idle by enabling or disabling the sync command during initialization. it is defined as follows: nosync: enable/disable sync command during initialization. nosync=0, enable (default): the line has to be idle for the ram initialization sequence to be written, nosync=1, disable: the line does not have to be idle for the ram initialization sequence to be written. the following discussion describes the function of this bit: during initialization, after the cpu writes the node id, the COM20019I will write "d1"h data to address 000h and node-id to address 001h of its internal ram within 96us. these values are read as part of the diagnostic test. if the d1 and node-id initialization sequence cannot be read, the initialization routine will report it as a device diagnostic failure. these writ es are controlled by a micro-program which sometimes waits if the line is active; sync is the micro-pr ogram command that causes the wait. when the micro- program waits, the initial ram write does not occur, which causes the diagnostic error. thus in this case, if the line is not idle, the initialization sequence may not be written, which will be reported as a device diagnostic failure. however, the initialization sequence and diagnostics of the COM20019I should be independent of the network status. this is accomplished through some additional logic to decode the program counter, enabled by the nosync bit. when it finds that the micro- program is in the initialization routine, it disables the sync command. in this case, the initialization will not be held up by the line status. thus, by setting the nosync bit, the line does not have to be idle for the ram initialization sequence to be written. 10.2 ef bit the ef bit controls several modifications to internal operation timing and logic. it is defined as follows: ef: enable/disable the new internal operation timing and logic refinements. ef=0: (default) disable the new internal operation timing (the timing is the same as in the com20020 rev. b); ef=1: enable the new internal operation timing. the ef bit controls the following timing/logic refinements in the COM20019I: a) extend interrupt disable time while the interrupt is active (nintr pin=0), the interru pt is disabled by writing the clear tx/rx interrupt and clear flag command and by reading the next-id register . this minimum disable time is changed by the data rate. setting the ef bit will change the minimum disable time to always be more than 200 ns. this is done by changing the clock which is supplied to the interrupt disable logic. the frequency of this clock is always less than 20mhz . b) synchronize the pre-scalar output
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 63 rev. 04-15-05 datasheet the pre-scalar is used to change the data rate. the output clock is selected by ckp3-1 bits in the set-up register. the ckp3-1 bits are changed by writing the set-up register from outside the cpu. it's not synchronized between the cpu and COM20019I. thus, changing the ckp3-1 timing does not synchronize with the internal clocks of pre-scalar, and changing ckp3-1 may cause spike noise to appear on the output clock line. setting the ef bit will include flip-flops inserted bet ween the configuration register and pre-scalar for synchronizing the ckp3-1 with pre-scalar?s internal clocks. c) shorten the write interval time to the command register the COM20019I limits the write interval time for continuous writing to the command register. the minimum interval time is changed by the data rate. it's 800 ns at the 312.5 kbps and 1.6 s at the 156.25 kbps. this 1.6 s is very long for cpu. setting the ef bit will change the clock source from osck clock (8 times frequency of data rate) to xtal clock which is not changed by the data rate, such that the minimum interval time becomes 100 ns. d) eliminate the write prohibition period for the enable tx/rx commands the COM20019I has a write prohibition period for writing the enable transmit/receive commands. this period is started by the ta or ri bit (status reg.) re turning to high. this prohibition period is caused by setting the ta/ri bit with a pulse signal. it is 3.2 s at 156.25 kbps. this period may be a problem when using interrupt processing. the interrupt occurs when the ri bit returns to high. the cpu writes the next enable receive command to the other page immediately. in this case, the interval time between the interrupt and writing command is shorter than 3.2 s. setting the ef bit will cause the ta/ri bit to return to high upon release of the pulse signal for setting the ta/ri bit, instead of at the start of the pulse. this is illustrated in figure 10.1. tx/rx completed ta/ri bit setting pulse nintr pin prohibition period ef=1 tx/rx completed ta/ri bit setting pulse nintr pin ef=0 figure 10.1 - effect of the eb bit on the ta/ri bit
low cost arcnet (ansi 878.1) c ontroller with 2k x 8 on-board ram rev. 04-15-05 page 64 smsc COM20019I datasheet the ef bit also controls the resolution of the following issues from the com20020 rev. b: a) network map generation tentative id is used for generating the network map, but it sometimes detects a non-existent node. every time the tentative-id register is written, the effect of the old tentative-id remains active for a while, which results in an incorrect network map. it can be avoided by a carefully coded software routine, but this requires the programmer to have deep knowledge of ho w the COM20019I works. duplicate-id is mainly used for generating the network map. this has the same issue as tentative-id. a minor logic change clears all the re maining effects of the old tentativ e-id and the old duplicate-id, when the COM20019I detects a write operation to tentat ive-id or node-id register. with this change, programmers can use the tentative-id or duplicate-id for generating the network map without any issues. this change is enabled/disabled by the ef bit. b) mask register reset the mask register is reset by a soft reset in the com20020 rev. a, but is not reset in rev. b. the mask register is related to the status and diagnostic register, so it should be reset by a soft reset. otherwise, every time the soft reset happens, the com20020 rev. b generates an unnecessary interrupt since the status bits ri and ta are back to one by the soft reset. this is resolved by changing the logic to reset the mask register both by the hard reset and by the soft reset. the soft reset is activated by the node-id register going to 00h or by the reset bit going to high in the configuration register. this solution is enabled/disabled by the ef bit.
low cost arcnet (ansi 878.1) cont roller with 2k x 8 on-board ram smsc COM20019I page 65 rev. 04-15-05 datasheet chapter 11 appendix b: isa bus aen sa15-sa4 sd7-sd0 nior niow sa2-sa0 irqm niocs16 drqn ndack tc nrefresh resetdrv 12 12 bit comparators ls688x2 ng p p=q q i/o address seeting (dip switches) 16 bit bus transceivers ls245 a b dir ng 3 d7-d0 nrd nwr a2-a0 nintr nreset ncs 8 3 schmitt-trigger buffer 12 com20019 8 a figure 11.1 - example of interface circuit diagram to isa bus


▲Up To Search▲   

 
Price & Availability of COM20019I

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X